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 に答える