我有这样的XML 通用标签

我想要一个xpath(我在c#上下文中而不是xslt模板)获得第2个第一个元素,值为4,即 通用标签

使用/root/el[position() <= 2 and @value=4]我会得到0个元素,因为position()基于父节点,而不是当前子集。

我可以在C#中执行此操作,但是当我只需要20个节点时加载1200个节点似乎没用。

谢谢

有帮助吗?

解决方案

以下内容在XSLT脚本中对我有用; 通用标签

结果是id的3和4,因此XPATH /root/el[@value=4][position()&lt;=2]应该适合您。

其他提示

@rsp的答案是正确的,但我想添加一个解释。[cond1 and cond2]等同于[cond1][cond2]并不总是正确的。您需要第二种形式。

您的表情: 通用标签

...选择具有el属性等于value属性且位置小于或等于4的所有2元素。您的文档中没有此类元素。

您要: 通用标签

......它首先选择具有与el 相等的value属性的所有4元素,然后根据需要按位置列出该过滤器。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top