使用Python更改XML中的标签名称

时间:2019-02-20 17:16:06

标签: python xml tags

XML和Python的新手。我想更改XML文档中某些元素的标签名称。现在,文档的外观如下:

<Company>
  <Employee>
        <SSN>xxxxx1234</SSN>
     <Dependent>
        <SSN>xxxxx4321</SSN>

我想将Employee下的<SSN>标记更改为<EE SSN>,并将Dependent下的标记保留相同。该文档包括数百个公司和数千名员工,都包含数十到数百个子元素,因此我认为我需要找到和替换选项。

我想使用ElementTree模块,但欢迎其他建议。我还要进行其他修改(复制和粘贴元素),并且将发布另一个问题,因此我想为所有人维护一个模块。我拥有的唯一有效代码是导入数据并将其写入新文件。感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

ElementTree是您的出路。

首先,您获得了根,然后只需访问节点即可:

import xml.etree.ElementTree as ET

root = ET.fromstring(xml) # assuming you can store your data in a string (xml)

root[i] # access the ith node of the root
root[i][j] # access the jth node of the ith node

要从节点获取数据,可以使用:

root[i][j].text

...您可以在其中根据需要更改数据。