0

我将 NodeList 作为参数传递给 XSLT(如果有任何区别,我使用 SaxonB 9.1/XSLT 2)。

我想要做的是将节点列表中的所有元素/值插入到 XSLT 输出(即 XML 文件)中。

当我在下面做时,它只打印节点的文本值(即它根本不生成 XML 元素)

<xsl:param name="NL" />
.    <xsl:template match="/">
.          <xsl:value-of select="$NL" />
.     </xsl:template>
<xsl:stylesheet>

我可以使用 XPath 访问特定元素,即。$NL/节点 1。为了在输出中包含所有 NodeList 的 XML 元素和值,我需要做什么?

我也尝试像下面这样循环,但它只打印 NOdeList 的“顶级”元素 - 它不包括这些元素的任何子节点。

<xsl:for-each select="$NL/*">
.   <xsl:element name="{./name()}">
.       <xsl:value-of select="./text()"/>
.   </xsl:element>
</xsl:for-each>
4

1 回答 1

2

<xsl:value-of>给你字符串值,你可能想用它<xsl:copy-of>来代替。

于 2012-10-18T08:38:42.293 回答