Учитывая следующую структуру xml:
<root>
<a>
<from name="abc">
<b>xxx</b>
<c>yyy</c>
</from>
<to name="def">
<b>blah blah</b>
<c>another blah blah</c>
</to>
</a>
</root>
Как я могу получить прямой доступ к значению «from.b» каждого «a», не загружая сначала «from» (с find ()) каждого"a"?
Как видите, под "from" и "to" есть абсолютно одинаковые элементы.Таким образом, метод findall () не будет работать, так как я должен различать, откуда исходит значение «b».
Я хотел бы получить метод прямого доступа, потому что, если мне нужно загрузить каждый дочерний элемент(есть много) мой код был бы довольно многословным.Кроме того, в моем случае показатели производительности и у меня есть много документов XML для анализа!Поэтому мне нужно найти самый быстрый способ пройти через документ (и сохранить данные в БД)
Внутри каждого элемента "a" есть ровно 1 элемент "from", а внутри каждого элемента "from"это ровно 1 элемент "b".
У меня нет проблем, чтобы сделать это с lxml objectify, но я хочу использовать etree, потому что сначала я должен проанализировать документ XML с etree, потому что сначала я должен проверить xmlсхема против документа XSD, и я не хочу повторно анализировать весь документ снова.