我将NodeList作为参数传递给XSLT(我使用SaxonB 9.1 / XSLT 2,如果这有任何区别的话)。
我想要做的是将nodelist中的所有元素/值插入到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>
答案 0 :(得分:2)
<xsl:value-of>
为您提供字符串值,您可能希望改为使用<xsl:copy-of>
。