9

示例文档:

<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>

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

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

//h4[string() = 'July 13']/following-sibling::p
4

2 回答 2

8

使用这个 XPath:

//p[preceding-sibling::h4[1][. = 'July 13']]
于 2012-07-12T23:38:27.170 回答
0

尝试这个:

//p[preceding-sibling::h4/text() = 'July 13' and following-sibling::h4/text() = 'July 14']
于 2012-07-12T23:35:54.823 回答