使用 Python 更改 XML 标签名称

Jus*_*tin 5 python xml tags

对于 XML 和 Python 来说非常陌生。我想更改 XML 文档中某些元素的标签名称。该文档现在的样子如下:

<Company>
   <Employee>
      <SSN>111111111</SSN>
      <Dependent>
          <SSN>222222222</SSN>
Run Code Online (Sandbox Code Playgroud)

我想将 Employee 下的标签更改为“EESSN”,并保留 Dependent 下的标签不变。看起来像这样。

<Company>
   <Employee>
      <EESSN>111111111</EESSN>
      <Dependent>
          <SSN>222222222</SSN>
Run Code Online (Sandbox Code Playgroud)

该文档包括数百家公司和数千名员工,都有数十到数百个子元素,因此我认为我需要查找和替换选项。

我想使用 ElementTree 模块。我唯一有效的代码是导入数据并将其写入新文件。感谢你的帮助!

Dan*_*ley 6

如果您想使用 ElementTree,您可以找到和 setSSN的子元素的所有元素。Employeetag

例子...

输入(input.xml)

<Company>
    <Employee>
        <SSN>111111111</SSN>
        <Dependent>
            <SSN>222222222</SSN>
        </Dependent>
    </Employee>
</Company>
Run Code Online (Sandbox Code Playgroud)

Python

import xml.etree.ElementTree as ET

tree = ET.parse("input.xml")

for elem in tree.findall("Employee/SSN"):
    elem.tag = "EESSN"

tree.write("output.xml")
Run Code Online (Sandbox Code Playgroud)

输出(输出.xml)

<Company>
    <Employee>
        <EESSN>111111111</EESSN>
        <Dependent>
            <SSN>222222222</SSN>
        </Dependent>
    </Employee>
</Company>
Run Code Online (Sandbox Code Playgroud)