最新的Web開發教程
 

XML在服務器上


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,你會發現我們在我們的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,你會發現我們在我們的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文件數據庫輸出的真實生活

上面的例子使用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發送到您的瀏覽器。 太好了!

看看它是如何工作的