?
本文檔使用 php中文網(wǎng)手冊(cè) 發(fā)布
XML 文件是類似 HTML 文件的純文本文件。
XML 能夠通過標(biāo)準(zhǔn)的 Web 服務(wù)器輕松地存儲(chǔ)和生成。
XML 文件在 Internet 服務(wù)器上進(jìn)行存儲(chǔ)的方式與 HTML 文件完全相同。
啟動(dòng) Windows 記事本,并寫入以下行:
<?xml version="1.0" encoding="ISO-8859-1"?> <note> <from>Jani</from> <to>Tove</to> <message>Remember me this weekend</message> </note>
然后用適當(dāng)?shù)奈募?,比?"note.xml",在 Web 服務(wù)器上保存這個(gè)文件。
XML 可在不安裝任何 XML 軟件的情況下在服務(wù)器端生成。
如需從服務(wù)器生成 XML 響應(yīng) - 只需簡單地編寫以下代碼并在 Web 服務(wù)器上把它保存為一個(gè) 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>") %>
請(qǐng)注意,此響應(yīng)的內(nèi)容類型必須設(shè)置為 "text/xml"。
查看這個(gè) ASP 文件如何從服務(wù)器返回。
<?xml version="1.0" encoding="utf-8"?> <note> <from>Jani</from> <to>Tove</to> <message>Remember me this weekend</message></note>
如果您想要學(xué)習(xí) ASP,請(qǐng)?jiān)谖覀兊?a href="/">首頁查找 ASP 教程。
如需使用 PHP 從服務(wù)器上生成 XML 響應(yīng),請(qǐng)使用下面的代碼:
<?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>"; ?>
請(qǐng)注意,響應(yīng)頭部的內(nèi)容類型必須設(shè)置為 "text/xml"。
查看這個(gè) PHP 文件如何從服務(wù)器返回。
<?xml version="1.0" encoding="utf-8"?> <note> <from>Jani</from> <to>Tove</to> <message>Remember me this weekend</message> </note>
如果您想要學(xué)習(xí) PHP,請(qǐng)?jiān)谖覀兊氖醉摬檎?PHP 教程。
XML 可在不安裝任何 XML 軟件的情況下從數(shù)據(jù)庫生成。
如需從服務(wù)器生成 XML 數(shù)據(jù)庫響應(yīng),只需簡單地編寫以下代碼,并把它在 Web 服務(wù)器上保存為 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 文件的實(shí)際數(shù)據(jù)庫輸出。
<?xml version="1.0" encoding="utf-8"?> <guestbook> <guest> <fname>Terje</fname> <lname>Beck</lname> </guest> <guest> <fname>Jan</fname> <lname>Refsnes</lname> </guest> <guest> <fname>Torleif</fname> <lname>Rasmussen</lname> </guest> <guest> <fname>anton</fname> <lname>chek</lname> </guest> <guest> <fname>stale</fname> <lname>refsnes</lname> </guest> <guest> <fname>hari</fname> <lname>prawin</lname> </guest> <guest> <fname>Hege</fname> <lname>Refsnes</lname> </guest> </guestbook>
上面的實(shí)例使用了帶有 ADO 的 ASP。
如果您想要學(xué)習(xí) ASP 和 ADO,請(qǐng)?jiān)谖覀兊氖醉摬檎蚁嚓P(guān)教程。
下面的 ASP 代碼在服務(wù)器上把 XML 文件轉(zhuǎn)換為 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)) %>
實(shí)例解釋
第一個(gè)代碼塊創(chuàng)建微軟 XML 解析器的實(shí)例(XMLDOM),并把 XML 文件載入內(nèi)存。
第二個(gè)代碼塊創(chuàng)建解析器的另一個(gè)實(shí)例,并把 XSL 文件載入內(nèi)存。
最后一個(gè)代碼使用 XSL 文檔來轉(zhuǎn)換 XML 文檔,并把結(jié)果以 XHTML 發(fā)送到您的瀏覽器。
看看上面的代碼怎么運(yùn)行。
這個(gè) ASP 實(shí)例會(huì)創(chuàng)建一個(gè)簡單的 XML 文檔,并把該文檔保存到服務(wù)器上:
<% 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") %>