Каков эффект этого выражения XPATH? - PullRequest
2 голосов
/ 26 августа 2010

Что происходит, когда я применяю following-sibling::*[1] к последнему ребенку?

Ответы [ 2 ]

1 голос
/ 26 августа 2010

Что происходит, когда я применяю following-sibling::*[1] к последнему дочернему элементу?

Ответ : он получает оценку пустого набора узлов, потому что нетбольше следующих братьев и сестер.

Если вы хотите получить следующий брат и сестру контекстного узла или в противном случае следующий брат и сестру родительского узла контекста, ось Rigth равна following, как в:

following::*[1]
0 голосов
/ 26 августа 2010

Это даст вам первого брата к текущему узлу.

Вот пример:

<Root>
   <Div id="Hey">
      Test1
   </Div>
   <Div>
      Test2
   </Div>
   <Div>
      Test3
   </Div>
</Root>

XPath:

/Root/Div[@id = 'Hey']/following-sibling::*[1]

/Root/Div[@id = 'Hey'] даст вам Div с id=Hey, а /following-sibling::*[1] даст вам первого брата, так что в итоге вы получите Div с текстом «Test2».

Обновление: Я прошу прощения (см. Комментарий), но это: /Root/Div[3]/following-sibling::*[1] просто вернет пустой список. (Div[3] последний ребенок)

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