XPath兄弟提取

use*_*091 9 xml xpath

示例文档:

<h4 class="bla">July 12</h4>
<p>Tim</p>
<p>Jon</p>
<h4 class="bla">July 13</h4>
<p>James</p>
<p>Eric</p>
<p>Jerry</p>
<p>Susie</p>
<h4 class="date">July 14</h4>
<p>Kami</p>
<p>Darryl</p>
Run Code Online (Sandbox Code Playgroud)

我想要做的是抓住7月13日发布的所有p节点.注意它们是h4的兄弟姐妹而不是孩子.所以在这个例子中,我想得到具有以下名称的p节点:James,Eric,Jerry和Susie.

我接近以下内容,但它选择了7月13日h4节点之后的所有p节点,因为它们都是兄弟姐妹.换句话说,它没有停止条件.

//h4[string() = 'July 13']/following-sibling::p
Run Code Online (Sandbox Code Playgroud)

Kir*_*huk 8

使用此XPath:

//p[preceding-sibling::h4[1][. = 'July 13']]
Run Code Online (Sandbox Code Playgroud)