2012-07-12 142 views
9

实例文档: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> 

我想要做的就是抓住所有普者张贴在7月13日指出,他们是H4,而不是儿童的兄弟姐妹是节点。所以在这个例子中,我想获得包含以下名称的节点:James,Eric,Jerry和Susie。

我亲近的追随者,但是它选择了7月13日H4节点之后来了,因为他们是所有兄弟都p节点。换句话说,它没有停止条件。

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

回答

8

使用这个XPath:

//p[preceding-sibling::h4[1][. = 'July 13']] 
+1

,完美的工作 – user1522091 2012-07-12 23:46:51

0

试试这个:

//p[preceding-sibling::h4/text() = 'July 13' and following-sibling::h4/text() = 'July 14'] 
+0

这也工作过,谢谢 – user1522091 2012-07-12 23:47:03