2

如果注释了 if 条件,我会得到 w:p、w:sec 等的输出,这正是我所需要的。但是对于只允许打印 w:p 的 if 条件并没有发生。任何人都可以解决这个问题...

<xsl:param name="para" select="w:p"/>

 <xsl:template match="/">

         <xsl:for-each select="node()/*/*">
            <xsl:if test = "name() = $para">
                <xsl:value-of select="name()"/><xsl:text>
    </xsl:text>
            </xsl:if>
         </xsl:for-each>

    </xsl:template>

输入 XML:

<w:p>
<w:pPr></w:pPr>
</w:p>
<w:sec>
</w:sec>
4

1 回答 1

1

问题在这里

<xsl:param name="para" select="w:p"/>

这试图选择文档节点的子节点,名为“w:p”而不是字符串“w:p”。

解决方案

将以上内容替换为:

<xsl:param name="para" select="'w:p'"/>
于 2012-10-29T12:56:52.200 回答