XML和Python的新手。我想更改XML文档中某些元素的标签名称。现在,文档的外观如下:
<Company>
<Employee>
<SSN>xxxxx1234</SSN>
<Dependent>
<SSN>xxxxx4321</SSN>
我想将Employee下的<SSN>
标记更改为<EE SSN>
,并将Dependent下的标记保留相同。该文档包括数百个公司和数千名员工,都包含数十到数百个子元素,因此我认为我需要找到和替换选项。
我想使用ElementTree模块,但欢迎其他建议。我还要进行其他修改(复制和粘贴元素),并且将发布另一个问题,因此我想为所有人维护一个模块。我拥有的唯一有效代码是导入数据并将其写入新文件。感谢你的帮助!
答案 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
...您可以在其中根据需要更改数据。