@Shimpanze

Как получить текущий элемент И его первый дочерний, используя «ancestor-or-self»?

Здравствуйте!

Есть html (пример синтетический, реальный пример намного сложнее, поэтому и хочу использовать ось "ancestor-or-self"):

<body>
  <div>
    <p id="foo"></p>
    <p id="bar"> <- получить этот узел...
      <a> <- ...И этот узел
      <a>


Необходимо получить "p#bar" и его первый "a".

Я пробовал писать так:

body/div/p[@id='bar']/node()[descendant-or-self::a[1]]


...не работает...
  • Вопрос задан
  • 24 просмотра
Решения вопроса 1
alekciy
@alekciy
Вёбных дел мастер
ancestor-or-self по определению не может этого, т.к. вернет все множество предков. Но если нужно "получить "p#bar" и его первый "a"", то так:
//p[@id="bar"]/a[1] | //p[@id="bar"]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы