亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

如何生成XML數據

2024-09-05 20:53:58
字體:
來源:轉載
供稿:網友

  一、必須弄清楚最終需要的是什么

  我們通過asp或其他動態編程語言,最終需要的是XML格式的數據,這點和XML數據所在的文件載體無關,它可以是實實在在的XML文件,比如:http://www.dw8.cn/common/dw8.xml 。也可以為asp文檔,比如:http://www.cnbruce.com/blog/rss2.asp

  他們都是XML數據的體現,為了實現XML數據的動態,所以需要使用到動態編程語言,比如ASP來實現生成它。

  二、如何生成動態的XML文檔

  如果是生成XML文件,介于動態文檔是ASP格式的,所以必須借助FSO進行XML文件的生成,比如:

<%
xmlfile=server.mappath("test1.xml")
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(xmlfile,True)
MyFile.WriteLine("<?xml version=""1.0"" encoding=""gb2312""?>")
MyFile.WriteLine("<世界>")
MyFile.WriteLine("<你好>hello,world</你好>")
MyFile.WriteLine("</世界>")
MyFile.Close
%>
<a href="test1.xml">查看XML文件內容</a>

  有關FSO的操作參看
http://www.cnbruce.com/blog/showlog.aspcat_id=26&log_id=440

  如果按照生成動態的XML數據文件來說,則是將MyFile.WriteLine的相關內容在動態文檔中通過程式的手段來控制XML節點的名稱和值即可。

  三、如何使用動態文檔生成XML數據

  那如果不是生成XML文件,直接在動態文檔上輸出XML數據呢,須聲明文件的類型(即Response.ContentType)

<%Response.ContentType = "text/XML"%>

  比如直接瀏覽如下的動態ASP文檔,在瀏覽器中下則顯示為XML數據樹

<%
With Response
.ContentType = "text/XML"
.write("<?xml version=""1.0"" encoding=""gb2312""?>")
.write("<世界>")
.write("<你好>hello,world</你好>")
.write("</世界>")
End with
%>

  生成的XML文件,其優勢就是處理該XML數據的文檔可以是靜態文檔,比如HTML文件通過Javascript、XMLDOM來解析XML,同時也易于數據的保留,而動態文檔上的動態XML數據則沒有這樣有點。不過,在如今動態文檔無處不在用的時代,似乎這個優勢對于一些應用來說是無甚影響,甚至來說,動態文檔的XML數據流反而更具優勢:更及時、更動態。

  四、生成XML數據就是這樣行了嗎?

  無論是通過生成具體的XML文件,還是動態的XML數據流,只要按照XML的格式輸出相關XML節點和值就可以了,這樣看來XML似乎很簡單。但這并沒有真正接觸到XML的操作。在我們看來,這些XML無非就是一些成對的標簽和相關字符組成的數據記錄,毫無生命力可言。然而事實上,通過XMLDOM來操作XML則顯示了XML的絕對優勢(這點在生成XML時優勢不明顯,卻在添加、刪除XML節點時體驗無限)。

  使用XMLDOM創建XML文檔,可使用Save方法生成XML文檔,使用createElement方法創建XML元素、createNode創建節點,其實對于XML中的任何標簽的創建都可以任意選擇其中的一種,不過一般使用createElement創建頂層(根)元素,使用createNode創建子節點(元素),當然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對象

  在元素或節點被建立(createElement、createNode)時,其并沒有加到文件樹中,若要將節點加到文件樹中,則需要插入,如appendChild。

  xmlDocument.createNode(type, name, nameSpaceURI) 表示建立一個指定型態、名稱,及命名空間的新節點

  type 用來確認要被建立的節點型態,name 是一個字符串來確認新節點的名稱,命名空間的前綴則是選擇性的。nameSpaceURI 是一個定義命名空間URI 的字符串。如果前綴被包含在名稱參數中,此節點會在nameSpaceURI 的內文中以指定的前綴建立。如果不包含前綴,指定的命名空間會被視為預設的命名空間。

  objXMLdoc.createNode("element", "你好", "") 等同于 objXMLdoc.createElement("你好") 4,objXMLdoc.documentElement.appendChild(hello)其實就是XML文檔根元素下建立節點,在本例中等同于 world.appendChild(hello),world為本例中的節點名,以此類推。

  所以可以這樣來寫:

<%
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格式的,這對我們所有應用程序文件的UTF-8化作了很好的推介。

  總結

  生成XML數據,可以使用FSO,如FSO被禁用,可使用XMLDOM,當然還可以直接使用動態文檔。不過如果融會貫通地掌握XML的操作,XMLDOM操作是必須的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
尤物九九久久国产精品的分类| 久久亚洲国产精品| 亚洲香蕉成人av网站在线观看| 欧美亚洲日本黄色| 最近2019中文字幕mv免费看| 欧美国产在线视频| 日韩中文字幕精品视频| 亚洲欧美国内爽妇网| 成人乱人伦精品视频在线观看| 欧美一区深夜视频| 欧美大片在线看| 一个人看的www欧美| 性欧美长视频免费观看不卡| 国语自产精品视频在线看抢先版图片| 久久久久久久久久久成人| 国产精品揄拍500视频| 午夜精品在线观看| 日韩高清电影好看的电视剧电影| 亚洲欧美日韩中文视频| 成人国产精品免费视频| 最好看的2019的中文字幕视频| 国产精品入口福利| 成人免费视频a| 欧美性生交大片免费| 日韩高清电影免费观看完整| 日韩欧美亚洲成人| 成人性生交大片免费观看嘿嘿视频| 欧美日韩亚洲精品一区二区三区| 日韩午夜在线视频| 91在线视频成人| 日韩欧美一区二区三区| 国产精品444| 超碰97人人做人人爱少妇| 亚洲精品国产免费| 欧美激情亚洲视频| 亚洲第一精品福利| 中文字幕欧美日韩在线| 久久亚洲国产成人| 日韩不卡在线观看| 欧美日本国产在线| 日本精品一区二区三区在线播放视频| 亚洲成人av在线播放| 亚洲精品久久久久久久久久久| 亚洲www永久成人夜色| 欧美韩日一区二区| 成人午夜小视频| 日韩精品免费视频| 亚洲第一黄色网| 国产精品爽黄69天堂a| 亚洲毛片在线观看.| 国产午夜精品全部视频播放| 国产成人精品久久久| 亚洲成人激情在线观看| 国产精品一区二区女厕厕| 91精品免费看| 国产主播在线一区| 亚洲男女自偷自拍图片另类| 欧美尤物巨大精品爽| 欧美日韩亚洲激情| 4k岛国日韩精品**专区| 亚洲午夜av电影| 日韩中文字幕第一页| 欧美成人精品一区二区| 91在线精品播放| 欧美电影免费观看高清完整| 亚洲精品国产suv| 欧美日韩福利视频| 亚洲精品suv精品一区二区| 久久久成人的性感天堂| 久久久精品久久| 奇米影视亚洲狠狠色| 日韩在线视频中文字幕| 亚洲精品一区二区三区婷婷月| 日韩高清人体午夜| 日av在线播放中文不卡| 亚洲人在线观看| 亚洲性生活视频在线观看| 中文字幕亚洲欧美日韩高清| 亚洲性生活视频| 狠狠久久五月精品中文字幕| 精品亚洲永久免费精品| 国产欧美一区二区三区久久人妖| 3344国产精品免费看| 欧美性猛交丰臀xxxxx网站| 97热在线精品视频在线观看| 亚洲aⅴ男人的天堂在线观看| 日韩成人av网址| 国产不卡av在线免费观看| 国产又爽又黄的激情精品视频| 日韩美女在线观看| 久久人人爽人人爽人人片av高清| 日韩中文字幕久久| 97免费视频在线| 成人天堂噜噜噜| 日日摸夜夜添一区| www高清在线视频日韩欧美| 国产亚洲aⅴaaaaaa毛片| 国产精品久久久久久影视| 久久人人爽人人爽人人片亚洲| 97成人超碰免| 亚洲а∨天堂久久精品9966| 亚洲精品一区二区网址| 精品亚洲国产视频| 亚洲无亚洲人成网站77777| 亚洲精品欧美极品| 欧美大成色www永久网站婷| 中文字幕九色91在线| 亚洲精品v欧美精品v日韩精品| 欧美体内谢she精2性欧美| 日韩在线资源网| 欧美日韩亚洲精品内裤| 97国产真实伦对白精彩视频8| 国产精品人成电影| 91久久久精品| 成人福利视频网| 亚洲一二三在线| 欧美激情在线观看| 亚洲伊人久久大香线蕉av| 亚洲欧美中文日韩在线| 菠萝蜜影院一区二区免费| x99av成人免费| 国产精品人成电影在线观看| www.亚洲男人天堂| 国产成人精品亚洲精品| 国产精品久久久久7777婷婷| 97视频在线观看播放| 91po在线观看91精品国产性色| 2019最新中文字幕| 少妇久久久久久| 国产91精品高潮白浆喷水| 最近2019年好看中文字幕视频| 国产精品网红直播| 欧美大片免费看| 亚洲人成啪啪网站| 91欧美视频网站| 国产亚洲一区二区精品| 国内久久久精品| 国产成人一区二区在线| 日韩精品在线电影| 国产午夜精品全部视频在线播放| 国产精品色视频| 久久久精品一区二区三区| 国产精品自拍网| 亚洲欧美日韩精品久久亚洲区| 国产欧美一区二区三区四区| 92裸体在线视频网站| 日本高清久久天堂| 亚洲精品mp4| 亚洲国产中文字幕久久网| 欧美日韩精品在线| 一区二区三区 在线观看视| 国产精品96久久久久久| 亚洲女人天堂av| 国产成人精品优优av| 91美女福利视频高清| 欧美日韩一二三四五区| 欧美夫妻性生活视频| 亚洲二区中文字幕| 欧美大秀在线观看| 国内精品伊人久久| www.美女亚洲精品| 亚洲精品久久久一区二区三区| 欧美日韩ab片| 亚洲欧美另类自拍|