让 Asp 与 XML 交互

  XML 是标准扩展语言,是 未来Web编程的标准,asp 是现在广为流传的web编程语言之一,能不能让他们

  两个联合起来发挥作用呢?豆腐 在 这里 给大家 提供一个 很简单的 例子

  关于XML 和 XSL 限于篇幅和知识水平 豆腐就不在这里 献丑了

  下面首先来 说说 几个需要用到的文件的 内容

  testXsl.xsl:

  <?xml version='1.0'?>

  <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl";>

  <xsl:template match="/">

  <html>

  <body>

  <xsl:for-each select="PERSONNEL/PERSON">

  <xsl:choose>

  <xsl:when match=".[FG='boy']">

  <input type="text">

  <xsl:attribute name="value">

  <xsl:value-of select="NAME"/>

  </xsl:attribute>

  </input>

  <br/>

  </xsl:when>

  <xsl:otherwise match=".[FG='girl']">

  <font color="red"><li><xsl:value-of select="NAME"/></li></font>

  <br/>

  </xsl:otherwise>

  <xsl:otherwise>

  <font color="blue"><xsl:value-of select="NAME"/></font>

  </xsl:otherwise>

  </xsl:choose>

  </xsl:for-each>

  </body>

  </html>

  </xsl:template>

  </xsl:stylesheet>

  testXML.xml:

  <?xml version="1.0" encoding="gb2312" ?>

  <PERSONNEL>

  <PERSON>

  <NAME>男性</NAME>

  <FG>boy</FG>

  </PERSON>

  <PERSON>

  <NAME>女性</NAME>

  <FG>girl</FG>

  </PERSON>

  <PERSON>

  <NAME>呵呵,这个可不好说</NAME>

  <FG>donot know</FG>

  </PERSON>

  </PERSONNEL>

  testXML.asp

  <%

  set xml = Server.CreateObject("Microsoft.XMLDOM")

  xml.async = false

  xml.load(server.mappath("testXML.xml"))

  set xsl = Server.CreateObject("Microsoft.XMLDOM")

  xsl.async = false

  xsl.load(server.mappath("testXSL.xsl"))

  Response.Write(xml.transformNode(xsl))

  %>

  对照这个例子,我们主要来讲一下 testXML.asp 文件

  set xml = Server.CreateObject("Microsoft.XMLDOM")

  set xsl = Server.CreateObject("Microsoft.XMLDOM")

  用来分别创建一个xml和xsl的实例,其中xml.load(server.mappath("testXML.xml"))用来加载

  包含数据的xml文件,xsl.load(server.mappath("testXSL.xsl"))用来加载包含数据规则的xsl

  文件,最终利用xml.transformNode(xsl)将前面的规则使用在XML文件中

  运行的演示在:

  http://www.asp888.net/study/testXML.asp

  整个文件的下载在:http://www.asp888.net/download/asp/xml/testXML.zip