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 回答