XML伺服器概述

大雄45發表於2021-12-04
導讀 XML 檔案是類似 HTML 檔案的純文字檔案。XML 能夠通過標準的 Web 伺服器輕鬆地儲存和生成。

XML伺服器概述XML伺服器概述

在伺服器上儲存 XML 檔案

XML 檔案在 Internet 伺服器上進行儲存的方式與 HTML 檔案完全相同。

啟動 Windows 記事本,並寫入以下行:

<?xml version="1.0" encoding="ISO-8859-1"?>
<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"。

通過 PHP 生成 XML

如需使用 PHP 從伺服器上生成 XML 響應,請使用下面的程式碼:

<?php
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 weekend</message>";
echo "</note>";
?>

請注意,響應頭部的內容型別必須設定為 "text/xml"。

從資料庫生成 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>")
%>

上面的例項使用了帶有 ADO 的 ASP。

在伺服器上通過 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))
%>

例項解釋

  1. 第一個程式碼塊建立微軟 XML 解析器的例項(XMLDOM),並把 XML 檔案載入記憶體。
  2. 第二個程式碼塊建立解析器的另一個例項,並把 XSL 檔案載入記憶體。
  3. 最後一個程式碼使用 XSL 文件來轉換 XML 文件,並把結果以 XHTML 傳送到您的瀏覽器。
通過 ASP 把 XML 儲存為檔案

這個 ASP 例項會建立一個簡單的 XML 文件,並把該文件儲存到伺服器上:

<%
text="<note>"
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)
xmlDoc.Save("test.xml")
%>

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2845752/,如需轉載,請註明出處,否則將追究法律責任。