XPath:在符合条件的第一个元素上停止收集元素

时间:2018-07-16 08:57:57

标签: xpath

我有这种XML:

<item attribute = "val1"> blabla 1 </item>
<item attribute = "val2"> blabla 11 </item>
<item attribute = "val2"> blabla 12 </item>
<item attribute = "val1"> blabla 2 </item>
<item attribute = "val2"> blabla 21 </item>

我想收集包含itemelement的{​​{1}}。

为此,我使用XPath表达式(在lxml Python库中):

attribute = val2

其中firstItem.xpath('./following-sibling::item[.//@attribute = "val2"]') 是带有firstItem的元素。

因此,这项工作找到了三个attribute = "val1"并给了我,但这并不是我要找的。

我希望请求将第一个元素<item attribute = "val2">的第一个元素之后的两个元素<item attribute = "val2">提取给我,并在到达下一个<item attribute = "val1">时停止。当我在第二个<item attribute = "val1">上运行请求时,它将给我最后一个<item attribute = "val1">。 当然,就我而言,我可以有两个以上的<item attribute = "val2">

那么如何在XPath请求中告知停止搜索到达的第一个<item attribute = "val1">吗?

0 个答案:

没有答案