gpt4 book ai didi

xslt - 使用xslt获取X位置的节点值

转载 作者:行者123 更新时间:2023-12-03 15:23:56 24 4
gpt4 key购买 nike

我如何在不使用foreach的情况下使用xslt(X位置的节点值)

<items>
<item1>x</item1>
<item2>x</item2>
<item3>x</item3>
</items>

这是从编程意义上解释的:
<xsl:value-of select="Items/Item[2]"/>

==================================================

只是为了扩展一下问题,在以下xml中:
<items>
<about>xyz</about>
<item1>
<title>t1</title>
<body>b1</body>
</item1>
<item2>
<title>t2</title>
<body>b2</body>
</item2>
<item3>
<title>3</title>
<body>3</body>
</item3>
</items>

如何选择秒钟的项目标题。

最佳答案

回答扩展问题。如果选择所需元素的节点集,则可以使用位置值:

<xsl:value-of select="(items//title)[2]"/>

或者:
<xsl:value-of select="(items/*/title)[2]"/>

请注意在按位置选择之前返回所需节点集所需的括号的用法。

您可以使用所谓的“编程意义上的”。但是由于子元素的名称未知,您需要 *:
<xsl:value-of select="items/*[2]"/>

请注意,XSLT 中的节点集不是从零开始的。在上面的方法中,您选择的是第二个 ,而不是 的第三项

当您想将当前位置与一个数字进行比较时,确实需要 position():
<xsl:value-of select="items/*[position()>2]"/>

选择位置大于2的所有 项目position()不可或缺的其他情况是,当位置值是 类型的变量时string
<xsl:variable name="pos" select="'2'"/>
<xsl:value-of select="items/*[position()=$pos]"/>

关于xslt - 使用xslt获取X位置的节点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7455583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com