一、必須弄清楚最終需要的是什麼
我們通過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資料流反而更具優勢:更及時、更動態。