【问题标题】:Python: Using namespaces in ElementTree with iter()Python:通过 iter() 在 ElementTree 中使用命名空间
【发布时间】:2019-03-26 18:12:22
【问题描述】:

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

我是否遗漏了什么,或者有其他正确的方法吗?

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

我希望有更好的方法!?

【问题讨论】:

    标签: python xml elementtree celementtree


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2013-01-28
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-26
      相关资源
      最近更新 更多