Найти все узлы из XML, используя cElementTree - PullRequest
1 голос
/ 20 ноября 2008

Есть ли способ найти все узлы в дереве XML с помощью cElementTree? Метод findall работает только для указанных тегов.

Ответы [ 2 ]

2 голосов
/ 20 ноября 2008

Вы можете использовать пути XPath в методе findall:

Версия 1.2 поддерживает простой пути расположения элементов. В своем простейшая форма, путь местоположения один или более имен тегов, разделенных косая черта (/).

Вы также можете использовать звездочку (*) вместо имени тега, чтобы соответствовать всем элементы на этом уровне. Например, * / subtag возвращает всех внуков subtag.

Пустой тег (//) используется для поиска по все уровни дерева, под текущий уровень. Пустой тег должен всегда следует имя тега или Звездочка.

etree.findall('.//*')
1 голос
/ 20 ноября 2008

Вы смотрели на node.getiterator ()?

...