我正在使用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()没有此选项。
我是否缺少某些东西,或者还有另一种方法可以正确地做到这一点?
我知道该怎么做,并且有解决方法。 例如 -重申并传递父元素的定义。 -手动映射名称空间
我希望有更好的方法!?
答案 0 :(得分:1)
我发现使用XPath语法.findall(.// product:parent,ns)可以代替.iter()