gpt4 book ai didi

python - 如何使用 python 更改元素的名称(包括 xml 中的编号)?

转载 作者:行者123 更新时间:2023-12-01 01:53:54 24 4
gpt4 key购买 nike

如何使用 python 更改 xml 中元素的名称(包括编号)?

我已经知道如何使用 python 更改 xml 中的元素名称,但我想知道如何更改包括数字在内的元素名称。

下面是 xml 的示例。

<AAA>  <- this the first AAA under data>
<CCC>
<BBB>This</BBB>
</CCC>
<CCC>
<BBB>is</BBB>
</CCC>
<CCC>
<BBB>test</BBB>
</CCC>
</AAA>

<AAA> <- this the second AAA under data>
<CCC>
<BBB>This is test</BBB>
</CCC>
</AAA>

<AAA>
<BBB>
<CCC>This is test</CCC>
</BBB>
</AAA>

我正在尝试将 AAA 元素名称(包括数字,例如 AAA)更改为 AAA1AAAAAA2

第一个 AAA 应更改为 AAA1,第二个 AAA 更改为 AAA2,如下所示。

<AAA1>  <- this the first AAA under data>
<CCC>
<BBB>This</BBB>
</CCC>
<CCC>
<BBB>is</BBB>
</CCC>
<CCC>
<BBB>test</BBB>
</CCC>
</AAA1>

<AAA2> <- this the second AAA under data>
<CCC>
<BBB>This is test</BBB>
</CCC>
</AAA2>

<AAA3>
<BBB>
<CCC>This is test</CCC>
</BBB>
</AAA3>

最佳答案

您可以尝试如下操作,它将读取original.xml并创建new.xml:

import xml.etree.ElementTree as xmlParser
from xml import etree

with open("original.xml") as f:
xmlDoc = xmlParser.fromstringlist(["<root>", f.read(), "</root>"])

for index,element in enumerate(xmlDoc.iter('AAA')):
element.tag = 'AAA' + str(index+1)

# save to new xml file
with open('new.xml','ab') as f:
out = list(xmlDoc)
for item in out:
f.write(etree.ElementTree.tostring(item))

关于python - 如何使用 python 更改元素的名称(包括 xml 中的编号)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50431181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com