Python:在Iter()中使用ElementTree中的名称空间

时间:2018-10-22 15:50:54

标签: python xml elementtree celementtree

我正在使用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 :(得分:1)

我发现使用XPath语法.findall(.// product:parent,ns)可以代替.iter()