本篇文章給大家分享的是有關(guān)xml如何在powerbuilder中應(yīng)用,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
成都創(chuàng)新互聯(lián)公司是專業(yè)的屯昌網(wǎng)站建設(shè)公司,屯昌接單;提供成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行屯昌網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!powerbuilder中的數(shù)據(jù)窗口真是好的不得了,工作基本上都是圍繞它做,很高效,這幾天項(xiàng)目上需要用導(dǎo)出xml文件,就用pb9(xml導(dǎo)出導(dǎo)入功能是從powerbuilder9.0增加的功能)做了一個demo以驗(yàn)證可行性
示例文件如下(不貼DTD了,舉簡單例子說明一下)
代碼如下:
我的表結(jié)構(gòu),我想大家的表也應(yīng)該都是這樣設(shè)計的
order(銷售訂單,包括客戶,日期等信息)
orderdetail(銷售訂單明細(xì),包括產(chǎn)品,數(shù)量及價格信息)
至此,可能明眼人一眼就能看出,這個xml的格式設(shè)置有些問題,例如這樣可能更加合理
代碼如下:
不過人家是ZF部門,改不了的,所以蹩腳也得做
pb9中的處理代碼:其實(shí)在pb9種只寫了三行代碼,真正的代碼其實(shí)只有一行,就是增加了一個窗口,上面放了一個數(shù)據(jù)窗口,一個按鈕,按鈕里寫了這么一行代碼,呵呵
dw_export.save("c:\test.xml",xml!,false)
其實(shí)真正要處理的是定義個兩個數(shù)據(jù)窗口,主要是定義他們的xml模版:
d_order(訂單頭數(shù)據(jù)出口,第二行代碼,可以在EITX中設(shè)置)
1.新建數(shù)據(jù)窗口(這里注意,如果如何條件的數(shù)據(jù)有多行時,最好在SQL中進(jìn)行g(shù)roup,否則生成的數(shù)據(jù)會有重復(fù))
3.在export/import template xml(下面簡稱EITX)編輯區(qū)點(diǎn)右鍵,save as另一個名字
4.把data export下的use template設(shè)置為你剛剛保存的模版名
定義好的模版如下所示:
代碼如下:
dw_detail order_date
有兩點(diǎn)需要注意
[注1]這個start detail,將控制數(shù)據(jù)的循環(huán),所以需要選中,但是每個xml只能定義一個,這里就會產(chǎn)生一個問題,如果我訂單頭循環(huán)后,如何再讓訂單明細(xì)循環(huán),結(jié)論是,在一個數(shù)據(jù)窗口中無法實(shí)現(xiàn),必須分?jǐn)?shù)據(jù)窗口進(jìn)行處理,也就有了注2
[注2]我們需要在d_order中插入一個report,也就是d_orderdetail,在d_order中的control list(同在datawindow control refrence中相同)中就是dw_detail(默認(rèn)名稱是dw_1,我改名了)
d_orderdetail(訂單明細(xì)數(shù)據(jù)出口,也就是上面report,dw_detail引用的數(shù)據(jù)窗口,第三行代碼,可以在EITX中設(shè)置)
1.新建數(shù)據(jù)窗口
2.在export/import template xml(下面簡稱EITX)編輯區(qū)點(diǎn)右鍵,save as另一個名字
3.把data export下的use template設(shè)置為你剛剛保存的模版名
[注3]注意,當(dāng)我們在d_order中導(dǎo)出xml時,d_orderdetail中的xml聲明和頂節(jié)點(diǎn)會被忽略
[注4]這個地方定義的就是orderdetail部分,因?yàn)橐粋€訂單可能會有多條明細(xì)信息,所以我們需要設(shè)置為start detail,也就是循環(huán)。
最后生成的文件如下
代碼如下:
20080101 甲 已 20080102 甲 丙
注:如果讓你設(shè)計一個xml接口文件,請一定要考慮使用者的方便性
以上就是xml如何在powerbuilder中應(yīng)用,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。