服务器上的 XML
XML 文件是类似 HTML 文件的纯文本文件
XML 能够通过标准的 WEB 服务器轻松地存储和生成
在服务器上存储 XML 文件
XML 文件在 Internet 服务器上进行存储的方式与 HTML 文件完全相同
启动 Windows 记事本,并写入以下内容
<?xml version="1.0" encoding="UTF-8"?> <note> <to>小明</to> <from>小红</from> <heading>短信</heading> <body>I miss you so much</body> </note>
然后用适当的文件名,比如 note.xml
,在 WEB 服务器上保存这个文件
通过 ASP 生成 XML
ASP 可在不安装任何 XML 软件的情况输出 XML
从服务器生成 XML 响应,只需简单地把以下代码并在 Web 服务器上把它保存为一个 ASP 文件:
<% response.ContentType="text/xml" response.Write("<?xml version='1.0' encoding='UTF-8'?>") response.Write("<note>") response.Write("<from>小红</from>") response.Write("<to>小明</to>") response.Write("<heading>短信</heading>") response.Write("<body>I miss you so much</body>") response.Write("</note>") %>
响应头部的内容类型必须设置为 "text/xml"
通过 PHP 生成 XML
PHP 也可以生成 XML 响应
<?php header( "Content-type: text/xml" ); echo "<?xml version='1.0' encoding='UTF-8'?>"; echo "<note>"; echo "<from>小红</from>"; echo "<to>小明</to>"; echo "<heading>短信</heading>"; echo "<body>I miss you so much</body>"; echo "</note>";
响应头部的内容类型必须设置为 "text/xml"
如果想要深入学习 PHP,请移步我们的 PHP 基础教程
从数据库生成 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='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() end rs.close() conn.close() response.write("</guestbook>") %>
响应头部的内容类型必须设置为 "text/xml"
上面的范例使用了带有 ADO 的 ASP
如果想要学习 ASP 和 ADO,请在我们的 首页 查找相关教程
在服务器上通过 XSLT 转换 XML
下面的 ASP 代码在服务器上把 XML 文件转换为 HTML5:
<% 'Load XML set xml = Server.CreateObject("Microsoft.XMLDOM") xml.async = falsexml.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 文档,并把结果以 HTML 发送到您的浏览器
通过 ASP 把 XML 保存为文件
这个 ASP 实例会创建一个简单的 XML 文档,并把该文档保存到服务器上:
<% text = "<note>" text = text & "<to>小明</to>" text = text & "<from>小红</from>" text = text & "<heading>短信</heading>" text = text & "<body>I miss you so much</body>" text = text & "</note>" set xmlDoc=Server.CreateObject("Microsoft.XMLDOM") xmlDoc.async=false xmlDoc.loadXML(text) xmlDoc.Save("test.xml") %>