四,生成XML數(shù)據(jù)就是這樣行了嗎?
無論是通過生成具體的XML文件,還是動(dòng)態(tài)的XML數(shù)據(jù)流,只要按照XML的格式輸出相關(guān)XML節(jié)點(diǎn)和值就可以了,這樣看來XML似乎很簡單。但這并沒有真正接觸到XML的操作。在我們看來,這些XML無非就是一些成對(duì)的標(biāo)簽和相關(guān)字符組成的數(shù)據(jù)記錄,毫無生命力可言。然而事實(shí)上,通過XMLDOM來操作XML則顯示了XML的絕對(duì)優(yōu)勢(shì)(這點(diǎn)在生成XML時(shí)優(yōu)勢(shì)不明顯,卻在添加、刪除XML節(jié)點(diǎn)時(shí)體驗(yàn)無限)。
使用XMLDOM創(chuàng)建XML文檔,可使用Save方法生成XML文檔,使用createElement方法創(chuàng)建XML元素、createNode創(chuàng)建節(jié)點(diǎn),其實(shí)對(duì)于XML中的任何標(biāo)簽的創(chuàng)建都可以任意選擇其中的一種,不過一般使用createElement創(chuàng)建頂層(根)元素,使用createNode創(chuàng)建子節(jié)點(diǎn)(元素),當(dāng)然createElement和createNode的使用方法也是不同。
<% Set objXMLdoc = CreateObject("Microsoft.XMLDOM")
Set world=objXMLdoc.createElement("世界") objXMLdoc.appendChild(world)
Set hello=objXMLdoc.createNode("element", "你好", "") hello.Text = "hello,world" objXMLdoc.documentElement.appendChild(hello)
objXMLdoc.Save Server.MapPath("test2.xml") Set objXMLdoc = Nothing %>
- CreateObject("Microsoft.XMLDOM") 聲明使用XMLDOM對(duì)象
- 在元素或節(jié)點(diǎn)被建立(createElement、createNode)時(shí),其并沒有加到文件樹中,若要將節(jié)點(diǎn)加到文件樹中,則需要插入,如appendChild。
- xmlDocument.createNode(type, name, nameSpaceURI) 表示建立一個(gè)指定型態(tài)、名稱,及命名空間的新節(jié)點(diǎn)
type 用來確認(rèn)要被建立的節(jié)點(diǎn)型態(tài),name 是一個(gè)字符串來確認(rèn)新節(jié)點(diǎn)的名稱,命名空間的前綴則是選擇性的。nameSpaceURI 是一個(gè)定義命名空間URI 的字符串。如果前綴被包含在名稱參數(shù)中,此節(jié)點(diǎn)會(huì)在nameSpaceURI 的內(nèi)文中以指定的前綴建立。如果不包含前綴,指定的命名空間會(huì)被視為預(yù)設(shè)的命名空間。 objXMLdoc.createNode("element", "你好", "") 等同于 objXMLdoc.createElement("你好")
- 4,objXMLdoc.documentElement.appendChild(hello)其實(shí)就是XML文檔根元素下建立節(jié)點(diǎn),在本例中等同于 world.appendChild(hello),world為本例中的節(jié)點(diǎn)名,以此類推。
所以可以這樣來寫:
<% Set objXMLdoc = CreateObject("Microsoft.XMLDOM")
Set world=objXMLdoc.createElement("世界") objXMLdoc.appendChild(world)
Set hello=objXMLdoc.createElement("你好") hello.Text = "hello,world" world.appendChild(hello)
objXMLdoc.Save Server.MapPath("test2.xml") Set objXMLdoc = Nothing %>
需要注意的是,通過XMLDOM生成的XML文件都是UTF-8格式的,這對(duì)我們所有應(yīng)用程序文件的UTF-8化作了很好的推介。
總結(jié)
生成XML數(shù)據(jù),可以使用FSO,如FSO被禁用,可使用XMLDOM,當(dāng)然還可以直接使用動(dòng)態(tài)文檔。不過如果融會(huì)貫通地掌握XML的操作,XMLDOM操作是必須的。
經(jīng)典論壇討論: http://bbs.blueidea.com/thread-2713978-1-1.html
出處:藍(lán)色理想
責(zé)任編輯:blue
上一頁 如何生成XML數(shù)據(jù) [1] 下一頁
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|