对 msxsl:node-set() 函数的支持

更新:November 2007

msxsl:node-set 函数使您能够将结果树片段转换成节点集。 生成的节点集总是包含单个节点并且是树的根节点。

说明:

XslTransform 类在 .NET Framework 2.0 版 中已过期。 可以使用 XslCompiledTransform 类执行可扩展样式表语言转换 (XSLT) 转换。 有关更多信息,请参见使用 XslCompiledTransform 类从 XslTransform 类迁移

msxsl:node-set 函数使您能够将结果树片段转换成节点集。 生成的节点集总是包含单个节点并且是树的根节点。

示例

在下面的示例中,$var 是一个变量,它是样式表中的一个节点树。 for-each 语句与 node-set 函数组合使用,允许用户将此节点树作为节点集循环访问。

nodeset.xsl

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:msxsl="urn:schemas-microsoft-com:xslt"
                xmlns:user="https://www.contoso.com"
                version="1.0">
    <xsl:variable name="books">
        <book author="Michael Howard">Writing Secure Code</book>
        <book author="Michael Kay">XSLT Reference</book>
    </xsl:variable>

    <xsl:template match="/">
        <authors>
            <xsl:for-each select="msxsl:node-set($books)/book"> 
                <author><xsl:value-of select="@author"/)</author>
            </xsl:for-each>
        </authors>
    </xsl:template>
</xsl:stylesheet>

输出

转换的输出为

<?xml version="1.0" encoding="utf-8"?>
<authors><author>Michael Howard</author><author>Michael Kay</author></authors>

请参见

概念

XslTransform 类实现 XSLT 处理器