Запрос XPath для получения узла-потомка другого узла - PullRequest
1 голос
/ 24 августа 2011

У меня есть следующий HTML-код

<html>
<body>
  ~~ optional text and variably-nested elements ~~
  <div class="a">
    ~~ optional text and variably-nested elements ~~
    <div class="b">example</div>
    ~~ optional text and variably-nested elements ~~
  </div>
  ~~ optional text and variably-nested elements ~~
  <div class="c">
    ~~ optional text and variably-nested elements ~~
    <div class="b">example</div>
    ~~ optional text and variably-nested elements ~~
  </div>
  ~~ optional text and variably-nested elements ~~
</body>
</html>

Я хотел бы получить <div class="b"> DOMNode <div class="c">.

Я использовал:

//*[@class='b']

но это дало неправильные результаты. Какой правильный XPath-запрос использовать?

Спасибо

Ответы [ 2 ]

2 голосов
/ 24 августа 2011

Попробуйте с

"//*[@class='c']//*[@class='b']"

http://codepad.org/EzBAWDPg

0 голосов
/ 24 августа 2011

Используйте этот XPath: //div[@class = 'c']/div[@class = 'b'].

Он выберет div[@class = 'b'], который является дочерним по отношению к div[@class = 'c'].

...