麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > XML > 正文

網絡編程:如何生成XML數據

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

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


  我們通過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>


  如果按照生成動態的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操作是必須的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄色视频a级毛片 | 日韩激情一区 | 亚洲码无人客一区二区三区 | 亚洲小视频在线播放 | 女人解衣喂奶电影 | 99精品视频在线观看免费 | 欧美人与禽性xxxxx杂性 | 久久久久久久久久久国产精品 | 欧美乱淫 | 久久亚洲春色中文字幕久久 | 蜜桃一本色道久久综合亚洲精品冫 | 欧美一级高潮片免费的 | 免费a级网站 | 77成人影院 | 国产小视频在线 | 日韩电影av在线 | 久草在线资源视频 | 国产精品久久久久久一区二区三区 | 国产免费观看视频 | 国产亚洲精品美女久久久 | 男女做性免费网站 | 中文字幕在线观看网址 | 在火车上摸两乳爽的大叫 | 中文字幕国产亚洲 | 91短视频版高清在线观看免费 | 7777在线视频免费播放 | jizzyouxxxx | 国产日韩欧美 | 天天看夜夜爽 | 国产大片中文字幕在线观看 | 国产一级伦理片 | 黄色羞羞视频在线观看 | 日本s级毛片免费观看 | 99精品国产一区二区三区 | 免费看日韩片 | 亚洲精品a在线观看 | 欧美日本日韩 | 99riav国产在线观看 | 欧美日韩亚洲视频 | 日本在线国产 | 日本精品中文字幕 |