【问题标题】:Remove all the attributes of every node in an XML document删除 XML 文档中每个节点的所有属性
【发布时间】:2011-11-17 12:04:01
【问题描述】:

我有一个 XML 文档的 Node(element) 对象。我需要删除它的所有属性,它是子节点。我如何在python中做到这一点?我正在使用xml.dom.minidom

【问题讨论】:

标签: python xml xml-parsing


【解决方案1】:

类似的东西:

dom = xml.dom.minidom.parseString(document)

for node in dom.childNodes:
    if node.attributes:
        for key in node.attributes.keys():
            node.removeAttribute(key)

【讨论】:

  • 这会有所帮助。我认为我应该递归地对所有元素节点执行此操作。
【解决方案2】:

【讨论】:

    【解决方案3】:

    Rob 的答案现在不起作用,当您尝试从您用作Iteratordict 中删除key 时,它将导致RunTimeError

    因此,在尝试删除之前,您应该先克隆密钥,这样就可以了

    keys = list(xml_node.attributes.keys()) if xml_node.attributes else []
    for attribute in keys:
        xml_node.removeAttribute(attribute)
    

    【讨论】:

      猜你喜欢
      • 2023-03-23
      • 2016-11-05
      • 2020-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-24
      相关资源
      最近更新 更多