2

以下は、各レコードに含まれる XML の一部です。

<MT N="usage" V="something"/>
<MT N="usage" V="something else"/>

XSLT を使用して各レコードのこれらの V 値をすべて表示しようとしていますが、正しい値をターゲットにするのに問題があります。

<xsl:for-each select="MT[@N = 'usage']/@V">
    <xsl:value-of select="V"/>
    11
</xsl:for-each>

これは「1111」を出力しますが、Vの値は表示されません。どうすればそれをターゲットにできますか?

乾杯

4

2 に答える 2

5

select="V"はおそらくノードではありません。

どうですか

<xsl:for-each select="MT[@N = 'practice']">
<xsl:value-of select="@V"/>
11
</xsl:for-each>
于 2011-09-29T17:49:25.417 に答える
1
<xsl:for-each select="MT[@N = 'usage']/@V"> 
    <xsl:value-of select="V"/> 
    11 
</xsl:for-each>

上記は、現在のノードの子で<xsl:value-of>ある要素の値を表示しようとしています。Vただし、現在のノードは属性であり、定義上、属性には子がありません。これがあなたの問題です。

解決策:

<xsl:for-each select="MT[@N = 'usage']/@V"> 
    <xsl:value-of select="."/> 
    11 
</xsl:for-each>

これ<xsl:value-of>で、現在のノードの文字列値が出力されます。これはおそらく意図されたものです。

于 2011-09-30T02:53:43.427 に答える