Существует ли простой xpath для поиска всех родительских элементов в структуре xml? - PullRequest
0 голосов
/ 06 февраля 2019

Я использую python 3 и lxml.etree, и мне нужно получить список всех родительских элементов для выбранного элемента с заданным именем.

Вот пример моей структуры XML

<root>
    <father id="1">
         <father id="2">
              <child>
               ....

У меня есть объект-элемент, и мне нужен список всех объектов (например, для получения их атрибутов id)

Использование

element.xpath("parent::father)

возвращает список, в котором находится только первый родительский объект (папа id = 2) но мне нужно было бы пройти весь путь, независимо от того, насколько глубоко я.

Спасибо

1 Ответ

0 голосов
/ 07 февраля 2019

Спасибо,

@ Кризис предоставил правильный ответ.Вероятно, из-за моего плохого знания английского языка я не осознавал, что parent:: в реальной жизни (и в этом случае ;-) обычно на один уровень выше меня, в то время как элемент (и я) могут иметь много ancestor:: (даже еслиключевое слово здесь не во множественном числе; -)

Мне просто нужно проверить, являются ли все элементы-предки папа , но, поскольку element.xpath("ancestor::*) возвращает список, это просто проверка.

Большое спасибо.

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