XML 伺服器
伺服器上的 XML
XML 檔案是類似 HTML 檔案的純文字檔案。
XML 能夠透過標準的 Web 伺服器輕鬆地儲存和產生。
在伺服器上儲存 XML 檔案
XML 檔案在 Internet 伺服器上儲存的方式與 HTML 檔案完全相同。
啟動Windows 記事本,並寫入以下行:
<note>
<from>Jani</from>
<to>Tove</to>
<message>Remember me this weekend</message>
</note>
然後用適當的檔名,例如"note.xml",在Web 伺服器上保存這個文件。
透過 ASP 產生 XML
XML 可在不安裝任何 XML 軟體的情況下在伺服器端產生。
如需從伺服器產生XML 回應- 只需簡單地編寫以下程式碼並在Web 伺服器上把它儲存為一個ASP 檔案:
response .ContentType="text/xml"
response.Write("<?xml version='1.0' encoding='ISO-8859-1'?>")
response.Write("<note> ;")
response.Write("<from>Jani</from>")
response.Write("<to>Tove</to>")
response.Write("< ;message>Remember me this weekend</message>")
response.Write("</note>")
%>
請注意,此回應的內容類型必須設定為"text/xml"。
查看這個 ASP 檔案如何從伺服器回傳。
如果您想要學習 ASP,請在我們的首頁尋找 ASP 教學。
透過PHP 產生XML
如需使用PHP 從伺服器上產生XML 回應,請使用下面的程式碼:
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='ISO-8859-1'?>";
echo "< note>";
echo "<from>Jani</from>";
echo "<to>Tove</to>";
echo "<message>Remember me this week;";
echo "<message>Remember me this weekend< /message>";
echo "</note>";
請注意,回應頭部的內容類型必須設定為 "text/xml"。
查看這個 PHP 檔案如何從伺服器回傳。
如果您想要學習 PHP,請在我們的首頁尋找 PHP 教學。
從資料庫產生 XML
XML 可在不安裝任何 XML 軟體的情況下從資料庫產生。
如需從伺服器產生XML 資料庫回應,只需簡單地編寫以下程式碼,並把它在Web 伺服器上儲存為ASP 檔案:
response.ContentType = "text/xml"
set conn=Server.CreateObject("ADODB.Connection")
conn.provider="Microsoft.Jet.OLEDB.4.0;"
conn.open server. mappath("/db/database.mdb")
sql="select fname,lname from tblGuestBook"
set rs=Conn.Execute(sql)
#response.write(" <?xml version='1.0' encoding='ISO-8859-1'?>")
response.write("<guestbook>")
while (not rs.EOF)
response.write("<guest>")
response.write("<fname>" & rs("fname") & "</fname>")
response.write("<lname>" & rs("lname") & "</lname>")
response.write("</guest>")
rs.MoveNext()
wend
rs.close()
conn.close()
response.write("</guestbook>")
%>
查看以上ASP 檔案的實際資料庫輸出。
上面的實例使用了帶有 ADO 的 ASP。
如果您想要學習 ASP 和 ADO,請在我們的首頁尋找相關教學。
在伺服器上透過XSLT 轉換XML
下面的ASP 程式碼在伺服器上把XML 檔案轉換成XHTML:
'Load XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("simple.xml"))
'Load XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("simple.xsl"))
'Transform file
Response.Write(xml.transformNode(xsl))
%>
實例解釋
第一個程式碼區塊建立微軟 XML 解析器的實例(XMLDOM),並將 XML 檔案載入記憶體。
第二個程式碼區塊建立解析器的另一個實例,並把 XSL 檔案載入記憶體。
最後一個程式碼使用 XSL 文檔來轉換 XML 文檔,並將結果以 XHTML 發送到您的瀏覽器。
看看上面的程式碼怎麼運行。
透過ASP 把XML 儲存為文件
這個ASP 實例會建立一個簡單的XML 文檔,並且把該文檔儲存到伺服器上:
text=text & "<to>Tove</to>"
text=text & "<from>Jani</from> "
text=text & "<heading>Reminder</heading>"
text=text & "<body>Don't forget me this weekend!</body>"
text= text & "</note>"
set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
xmlDoc.async=false
xmlDoc.loadXML(text)