1

我正在使用 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() 没有此选项。

我错过了什么,还是有另一种方法可以正确地做到这一点?

我知道如何,并且有构建解决方法。例如 - 重复并传递父元素的定义。- 手动映射命名空间

我希望有更好的方法!?

4

1 回答 1

1

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

于 2018-10-22T16:08:02.783 回答