2016-06-28 142 views
0

请考虑以下HTML。使用XPath匹配节点文本后查找兄弟

<div class="block table__responsive-body" id="review_2"> 
    <div class="row"> 
     <div class="small-4 columns hide-for-large-up"> 
      <strong>Betyg</strong> 
     </div> 
     <div class="small-8 columns table__responsive-body-content">5<p> 
      <strong>Skapades den: </strong>28 jun 09:44</p> 
     </div> 
    </div> 

    <div class="row"> 
     <div class="small-4 columns hide-for-large-up"> 
      <strong>Produkt</strong> 
     </div> 
     <div class="small-8 columns table__responsive-body-content"> 
      <a href="/products/9">Volvo V50</a> 
     </div> 
    </div> 

    <div class="row"> 
     <div class="small-4 columns hide-for-large-up"> 
      <strong>Recensent</strong> 
     </div> 
     <div class="small-8 columns table__responsive-body-content"> 
      <a href="https://stackoverflow.com/users/24">John Doe</a> 
     </div> 
    </div> 
</div> 

我想找到包含给定的文本strong节点的任何前置兄弟div随后div节点。

例如:鉴于<strong>节点文本找到的是Betyg。我希望它返回:你描述

<div class="small-8 columns table__responsive-body-content">5<p> 
    <strong>Skapades den: </strong>28 jun 09:44</p> 
</div> 

回答

1

以下XPath会做:

//div[strong/text()[contains(., 'Betyg')]]/following-sibling::div 

找到div包含strong子元素,其中包含文本Betyg。然后找到以下兄弟是div

+0

它的工作原理,谢谢! –

相关问题