2013-06-15 1 views
0

Я очень новичок с началом XPath, глядя на него сегодня :)XPath HTML запрос: выберите tnodes, если они не являются детьми данного узла

У меня есть некоторые HTML, которые имеют следующую структуру:

<body class="wrapper"> 
    <h3>someText_1</h3> 
    <h4>someOtherText_1 
     <a href="someLink_1"> link_1 </a> 
    </h4> 
    <p>description_1</p> 
      ...  
    <h3>someText_n</h3> 
    <h4>someOtherText_n 
     <a href="someLink_n"> link_1 </a> 
    </h4> 
    <p>description_1</p> 
</body> 

Возможно ли использование xpath для выбора всех узлов после каждого h3? или в более общем смысле: при заданном узле можно выбрать следующие n-узлы, если они не являются дочерними элементами данного узла?

Я попытался с:

  1. // тела [класс = "обертка]/h3/*
  2. // тело [класс =" обертка]/h3 /.

ответ

0

Что вы ищете following-sibling::*

Все ноты после часа:

//body[@class="wrapper"]/h3/following-sibling::* 

Следующая одна только

//body[@class="wrapper"]/h3/following-sibling::*[1] 

Следующая три:

//body[@class="wrapper"]/h3/following-sibling::*)[position() <= 3 ]' 

Для получения дополнительной информации см. xpah axes

+0

Он делает именно то, что я пытался сделать, спасибо (также за ссылку на документ) –

 Смежные вопросы

  • Нет связанных вопросов^_^