以下是每条记录中的一些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的值。我该如何定位?
干杯
答案 0 :(得分:5)
select =“V”可能不是节点。
怎么样?
<xsl:for-each select="MT[@N = 'practice']">
<xsl:value-of select="@V"/>
11
</xsl:for-each>
答案 1 :(得分: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>
输出当前节点的字符串值 - 这可能是预期的。