服务器上的 XML

XML 文件是类似 HTML 文件的纯文本文件。

能够通过标准的 web 服务器轻松地存储和生成 XML。


在服务器上存储 XML

XML 文件在 Internet 服务器上进行存储的方式与 HTML 文件完全相同。

请打开 Windows 记事本,并输入以下代码:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <note>
  3. <from>韩梅梅</from>
  4. <to>李雷</to>
  5. <message>不要忘记开会!</message>
  6. </note>

然后用适当的文件名,比如 "note.xml",在 web 服务器上保存这个文件。


通过 ASP 生成 XML

XML 可在不安装任何 XML 软件的情况下在服务器端生成。

如需从服务器生成 XML 响应 - 只需简单地编写以下代码并在服务器上把它保存为一个 ASP 文件:

  1. <%
  2. response.ContentType="text/xml"
  3. response.Write("<?xml version='1.0' encoding='utf-8'?>")
  4. response.Write("<note>")
  5. response.Write("<from>韩梅梅</from>")
  6. response.Write("<to>李雷</to>")
  7. response.Write("<message>不要忘记开会!</message>")
  8. response.Write("</note>")
  9. %>

请注意,此响应的内容类型必须设置为 "text/xml"。

查看这个 ASP 文件如何从服务器返回

如果您还不懂如何编写 ASP,请访问本站的《ASP 教程》。


通过 ASP.Net 生成 XML

XML 可在不安装任何 XML 软件的情况下在服务器端生成。

可以新建一个 ASPX 文件,并在它的后台 aspx.cs 文件中写入以下代码:

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. Response.ContentType = "text/xml";
  4. Response.Write("<?xml version='1.0' encoding='utf-8'?>");
  5. Response.Write("<note>");
  6. Response.Write("<from>韩梅梅</from>");
  7. Response.Write("<to>李雷</to>");
  8. Response.Write("<message>不要忘记开会!</message>");
  9. Response.Write("</note>");
  10. Response.End();
  11. }

请注意,此响应的内容类型必须设置为 "text/xml"。

查看效果

如果您还不懂如何编写 ASP.Net,请访问本站的《ASP.Net 教程》。


通过 PHP 生成 XML

如需使用 PHP 在服务器上生成 XML 响应,请使用下面的代码:

  1. <?php
  2. header("Content-type:text/xml");
  3. echo "<?xml version='1.0' encoding='utf-8'?>";
  4. echo "<note>";
  5. echo "<from>韩梅梅</from>";
  6. echo "<to>李雷</to>";
  7. echo "<message>不要忘记开会!</message>";
  8. echo "</note>";
  9. ?>

请注意,响应头部的内容类型必须设置为 "text/xml"。

如果您需要学习 PHP,请访问本站的《PHP 教程》。


从数据库获取 XML

XML 可在不安装任何 XML 软件的情况下从数据库生成。如需从服务器生成 XML 数据库响应,只需简单地编写以下代码,并把它在服务器上保存为 ASP 文件:

  1. <%
  2. response.ContentType = "text/xml"
  3. set conn=Server.CreateObject("ADODB.Connection")
  4. conn.provider="Microsoft.Jet.OLEDB.4.0;"
  5. conn.open server.mappath("/db/database.mdb")
  6. sql="select FirstName,LastName from Persons"
  7. set rs=Conn.Execute(sql)
  8. rs.MoveFirst()
  9. response.write("<?xml version='1.0' encoding='utf-8'?>")
  10. response.write("<Customers>")
  11. while (not rs.EOF)
  12. response.write("<Person>")
  13. response.write("<FirstName>" &amp; rs("FirstName") &amp; "</FirstName>")
  14. response.write("<LastName>" &amp; rs("LastName") &amp; "</LastName>")
  15. response.write("</Person>")
  16. rs.MoveNext()
  17. wend
  18. rs.close()
  19. conn.close()
  20. response.write("</Customers>")
  21. %>

查看以上 ASP 代码的实际数据库输出案例

上面的例子使用了带有 ADO 的 ASP。

如果您需要学习 ADO,请访问 本站 的《ADO 教程》。


在服务器上通过 XSLT 转换 XML

下面的 ASP 代码在服务器上把 XML 文件转换为 XHTML:

  1. <%
  2. 'Load XML
  3. set xml = Server.CreateObject("Microsoft.XMLDOM")
  4. xml.async = false
  5. xml.load(Server.MapPath("simple.xml"))
  6. 'Load XSL
  7. set xsl = Server.CreateObject("Microsoft.XMLDOM")
  8. xsl.async = false
  9. xsl.load(Server.MapPath("simple.xsl"))
  10. 'Transform file
  11. Response.Write(xml.transformNode(xsl))
  12. %>
例子解释

第一个代码块创建微软 XML 解析器的实例 (XMLDOM),并把 XML 文件载入内存

第二个代码块创建解析器的另一个实例,并把 XSL 文件载入内存

最后一个代码使用 XSL 文档来转换 XML 文档,并把结果以 XHTML 发送到您的浏览器,完成。


通过 ASP.Net 把 XML 保存为文件

这个 ASP.Net 实例会创建一个简单的 XML 文档,并把该文档保存到服务器上:

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. string text = "<note>";
  4. text = text + "<to>李雷</to>";
  5. text = text + "<from>韩梅梅</from>";
  6. text = text + "<heading>提醒</heading>";
  7. text = text + "<body>不要忘记开会!</body>";
  8. text = text + "</note>";
  9. //载入xml文档
  10. XmlDocument xmlDocument = new XmlDocument();
  11. xmlDocument.LoadXml(text);
  12. xmlDocument.Save("test.xml");
  13. }