gpt4 book ai didi

xml - 如何按参数过滤节点,然后对结果应用 position() != 1 ?

转载 作者:行者123 更新时间:2023-12-03 16:13:03 25 4
gpt4 key购买 nike

抱歉,我是 XPath 的真正菜鸟。所以,这是我的问题。假设我们有这样的结构......

<structure>
<item filter=0>1 do not display</item>
<item filter=1>2 display</item>
<item filter=1>3 display</item>
<item filter=0>4 do not display</item>
</structure>

如何应用过滤器 structure[filter=1]并仅从结果数据中选择第一个元素?
我想它会类似于 structure[filter=1][position() = 1] ?

PS:请推荐在线xlst测试工具。

谢谢你。

最佳答案

你几乎是自己做的。

/*/item[@filter = 1][1]

看看这个例子(显式 value-of 只是为了清楚起见):
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:value-of select="*/item[@filter = 1][1]"/>
</xsl:template>
</xsl:stylesheet>

针对此格式良好的输入的结果:
<structure>
<item filter="0">1 do not display</item>
<item filter="1">2 display</item>
<item filter="1">3 display</item>
<item filter="0">4 do not display</item>
</structure>

2 display .

选择所有匹配的项目 @filter=1条件,除了第一个使用此 xpath 表达式:
/*/item[@filter = 1][position() > 1]

关于xml - 如何按参数过滤节点,然后对结果应用 position() != 1 ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5081868/

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