0

如何使用 XSLT 解析 XML 文档?可能是我错了,是否可以使用 XSLT 解析 XML 文档?

这是 XML 文档:

<?xml version="1.0" encoding="utf-8" ?>
<cart>
  <item id="1">
    <name>Tyres</name>
    <cost>20</cost>
  </item>
  <item id="2">
    <name>Front Glass</name>
    <cost>30</cost>
  </item>
  <item id="3">
    <name>Vanity Mirror</name>
    <cost>10</cost>
  </item>
  <item id="4">
    <name>Brake Pads</name>
    <cost>50</cost>
  </item>
  <item id="5">
    <name>Brake Oil</name>
    <cost>40</cost>
  </item>
</cart>

和 XSLT 页面:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
    <xsl:output method="xml" indent="yes"/>

    <xsl:template match="shopping_cart">
      <root>
        <xsl:apply-templates select="cart"/>
      </root>        
    </xsl:template>
  <xsl:template match="cart">
    <cart>
      <xsl:attribute name="name">
        <xsl:value-of select="name"/>
      </xsl:attribute>
      <xsl:attribute name="cost">
        <xsl:value-of select="cost"/>
      </xsl:attribute>

    </cart>
  </xsl:template>
</xsl:stylesheet>

有什么办法吗?请指导,因为我对解析概念不太了解。

4

1 回答 1

0

如果样式表只使用一个 XML 文档,则正常的机制是使其成为“主要输入文档”。根据处理器的 API,您通常可以以已解析或未解析的形式提供源文档;如果您以未解析的形式(例如作为 InputStream)提供它,它将自动被解析并作为节点树呈现给样式表。

如果您的样式表使用多个文档,您可以使用 document() 函数访问(和解析)辅助输入文档。

于 2012-06-12T07:26:26.543 回答