Python: использование пространств имен в ElementTree с помощью iter () - PullRequest
0 голосов
/ 22 октября 2018

Я использую xml.etree.ElementTree для анализа некоторых сложных XML-файлов.В некоторых файлах XML есть несколько повторяющихся тегов.

<product:object>
  <product:parent>
    <product:parent>
      <product:parent>
      </product:parent>
    </product:parent>
  </product:parent>
</product:object>

Я использую .iter (), чтобы найти повторяющийся тег в разных слоях.Обычно второй аргумент может быть передан .find () и .findall ().Однако, по какой-то причине .iter () не имеет этой опции.

Я что-то упустил, или есть другой способ сделать это правильно?

Я знаю, как и естьстроить обходные пути.Например, определение, которое повторяется и передает родительский элемент.- Отображение пространств имен вручную

Я надеюсь, что есть лучший способ!?

1 Ответ

0 голосов
/ 22 октября 2018

Я обнаружил, что с использованием синтаксиса XPath .findall (.// product: parent, ns) можно использовать вместо .iter ()

...