Извлеките xpath для каждого узла (тега) из файла XML, используя python - PullRequest
0 голосов
/ 12 июля 2020

У меня есть аналогичный, как в следующем XML файле:

<xml>
    <Catalog>
        <Book>
            <Textbook>
                <Author ="MEMO" />
            </Textbook>
        </Book>
        <Journal>
            <Science>
                <Author ="David" />
            </Science>
        </Journal>
    </Catalog>
</xml>

то, что я хотел бы сделать, написать код python, который найдет и распечатает xpath для всех узлов в моем XML файл, любая идея или предложение, я буду очень благодарен :), любые модели, которые я могу использовать, чтобы найти пример полного пути, результат должен выглядеть так:

MEMO: Catalog / Book / Textbook / Author

1 Ответ

0 голосов
/ 12 июля 2020

Это можно сделать с l xml:

import lxml.html as lh
from lxml import etree

books = """[your html above]"""

doc = lh.fromstring(books)

tree = etree.ElementTree(doc)
for e in doc.iter('author'):
    print("Memo: ",tree.getpath(e).replace('/xml/',''))

Вывод:

Memo:  catalog/book/textbook/author
Memo:  catalog/journal/science/author
...