2012-07-12 17 views
9

Przykład dokumentu:XPath ekstrakcja rodzeństwo

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

Co chcę zrobić, to pobrać wszystkie P węzły, które zostały zamieszczone na Lipiec 13. Należy zauważyć, że są one rodzeństwo H4 a nie dzieci. W tym przykładzie chciałbym uzyskać węzły o nazwach: James, Eric, Jerry i Susie.

mam blisko z następujących, ale wybrał wszystkie p węzły, które nastąpiło po 13 lipca h4 węzeł, ponieważ są one wszystkie rodzeństwa. Innymi słowy, nie miał warunku zatrzymania.

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

Odpowiedz

8

Użyj tego XPath:

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

że pracował idealnie – user1522091

0

Spróbuj tego:

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

ten pracował również dziękuję – user1522091