XML文件是純文本文件,就像HTML文件。
XML可以很容易地被存儲和由標準Web服務器生成。
在服務器上存儲XML文件
XML文件可以存儲在因特網服務器完全相同的方式為HTML文件上。
啟動Windows記事本,寫了下面幾行:
<?xml version="1.0" encoding="UTF-8"?>
<note>
<from>Jani</from>
<to>Tove</to>
<message>Remember me this weekend</message>
</note>
您的Web服務器上的文件與像一個合適的名字保存"note.xml"
生成與PHP的XML
可以在服務器上而沒有任何安裝的XML軟件生成的XML。
要使用PHP,使用下面的代碼生成來自服務器的XML響應:
<?php
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='UTF-8 ' ?>";
echo "<note>";
echo "<from>Jani</from>";
echo "<to>Tove</to>";
echo "<message>Remember me this weekend</message>";
echo "</note>";
?>
請注意,響應頭的內容類型必須設置為"text/xml"
如果你想學習PHP,你會發現我們在我們的PHP教程網頁 。
生成XML與ASP
要生成來自服務器的XML響應 - 只需編寫下面的代碼,並保存為Web服務器上的ASP文件:
<%
response.ContentType="text/xml"
response.Write("<?xml version='1.0' encoding='UTF-8 ' ?>")
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教程網頁 。
生成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("/ datafolder /database.mdb")
sql="select fname,lname from tblGuestBook"
set rs=Conn.Execute(sql)
response.write("<?xml version='1.0' encoding='UTF-8 ' ?>")
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和ADO,你會發現我們的教程主頁 。
在服務器上轉換XML使用XSLT
此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發送到您的瀏覽器。 太好了!