Я использую python третий и ElementTree API. У меня есть XML-формы:Python ElementTree - итерация через дочерние узлы и текст в порядке
<root>
<item>Over the <ref id="river" /> and through the <ref id="woods" />.</item>
<item>To Grandmother's <ref id="house" /> we go.</item>
</root>
Я хочу, чтобы иметь возможность перебирать текст и дочерние узлы для данного элемента в порядке. Таким образом, для первого элемента, список Я хочу печататься строка за строкой будет:
Over the
<Element 'ref' at 0x######>
and through the
<Element 'ref' at 0x######>
.
Но я не могу понять, как сделать это с ElementTree. Я могу получить текст по порядку через itertext()
, а дочерние элементы упорядочены несколькими способами, но не чередуются друг с другом по порядку. Я надеялся, что могу использовать выражение XPath, такое как ./@text|./ref
, но подмножество ElementTree в XPath, похоже, не поддерживает выбор атрибутов. Если бы я мог просто получить исходное исходное содержимое xml каждого элемента элемента, я мог бы сам его проанализировать, если это необходимо.
Как должен выглядеть конечный результат? – RomanPerekhrest
Выход указан выше. – xdhmoore