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 教程。
使用 ASP 生成 XML
要从服务器生成 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,您可以在我们的 主页 上找到教程。
使用服务器上的 XSLT 转换 XML
此 ASP 将 XML 文件转换为服务器上的 XHTML
<%
'加载 XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("simple.xml"))
'加载 XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("simple.xsl"))
'转换文件
Response.Write(xml.transformNode(xsl))
%>
示例说明
- 第一段代码创建了 Microsoft XML 解析器 (XMLDOM) 的实例,并将 XML 文件加载到内存中。
- 第二段代码创建了另一个解析器实例,并将 XSL 文件加载到内存中。
- 最后一行代码使用 XSL 文档转换 XML 文档,并将结果作为 XHTML 发送到您的浏览器。真棒!