Выберите все узлы типа под данным узлом - PullRequest
0 голосов
/ 17 апреля 2019

Я новичок в XNode и хочу выбрать все узлы типа под данным узлом. В следующем примере я ищу все узлы баров под узлом foo.

 <node>
    <foo>
     <bar/>
     <div><bar/></div>
     <ul>
      <li><bar/>
     </ul>
     <p>foobar</p>
    </foo>
    <bar/>
</node>

Мое приложение получает узел foo (org.w3c.dom.Node):

NodeList nodeList = (NodeList) xpath.evaluate("//bar", fooNode, XPathConstants.NODESET);

Возвращает все узлы панели всего документа, а не из fooNode, хотя я прошел узел, а не весь документ.

Ответы [ 2 ]

1 голос
/ 17 апреля 2019

Возвращает все стержневые узлы всего документа, а не из fooNode, хотя я прошел узел, а не весь документ.

Это ожидаемое поведение для абсолютапуть к местоположению как //bar.Используйте относительный путь местоположения как .//bar или descendant-or-self::bar или descendant::bar

0 голосов
/ 17 апреля 2019

Я не уверен, что это то, что вы ищете, но

//foo/descendant-or-self::bar

выбирает 3 </bar> с внутри <foo>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...