XPath 选择两个特定元素之间的所有元素 [英] XPath select all elements between two specific elements

查看:37
本文介绍了XPath 选择两个特定元素之间的所有元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下 xml:

<doc>
    <divider />
    <p>text</p>
    <p>text</p>
    <p>text</p>
    <p>text</p>
    <p>text</p>
    <divider />
    <p>text</p>
    <p>text</p>
    <divider />
    <p>text</p>
    <divider />
</doc>

我想选择第一个分隔元素之后的所有 p 节点,直到下一个分隔元素出现.我尝试使用以下 xpath:

I want to select all p nodes after first divider element until next occurrence of divider element. I tried with following xpath:

//divider[1]/following-sibling::p[following::divider]

但问题是它选择了最后一个分隔元素之前的所有 p 元素.我不知道如何使用 xpath 1.

but the problem is it selects all p elements before last divider element. I'm not sure how to do it using xpath 1.

推荐答案

与 bytebuster 相同的概念,但不同的 xpath:

Same concept as bytebuster, but a different xpath:

/*/p[count(preceding-sibling::divider)=1]

这篇关于XPath 选择两个特定元素之间的所有元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆