XSL Foreach - 获取价值

发布于 2024-12-07 09:56:11 字数 364 浏览 0 评论 0原文

以下是每条记录中的一些 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 的值。我该如何瞄准呢?

干杯

Here is a bit of XML that's in each record:

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

I'm trying to display all of these V values for each record with XSLT, but am having issues targeting the correct value.

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

This outputs "1111", but the value of V isn't displayed. How do I target that?

Cheers

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

痴情换悲伤 2024-12-14 09:56:11

select="V" 可能不是一个节点。

怎么样

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

select="V" probably is not a node.

What about

<xsl:for-each select="MT[@N = 'practice']">
<xsl:value-of select="@V"/>
11
</xsl:for-each>
烂人 2024-12-14 09:56:11
 
     
    11 

上面的 尝试显示当前节点子元素 V 的值。然而,当前节点是一个属性,并且根据定义,属性没有子节点。这就是你遇到的问题。

解决方案

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

现在 输出当前节点的字符串值——这可能是有意的。

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

The <xsl:value-of> above is trying to display the value of an element V that is a child of the current node. However the current node is an attribute, and attributes by definition have no children. This is the problem that you have.

Solution:

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

Now the <xsl:value-of> outputs the string value of the current node -- which was probably intended.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文