gpt4 book ai didi

python : Remove an element but not its children from xml?

转载 作者:行者123 更新时间:2023-12-04 14:59:12 27 4
gpt4 key购买 nike

我想删除元素而不是它的子元素。我尝试使用此代码,但我的代码也删除了它的子项。

代码

import xml.etree.ElementTree as ET

tree = ET.parse('test.xml')
root = tree.getroot()

for item in root.findall('item'):
root.remove(item)

print(ET.tostring(root))
>>> <root>
</root>

test.xml

<?xml version="1.0" ?>
<root>
<item>
<data>
<number>01</number>
<step>one</step>
</data>
</item>
</root>

预期结果

<?xml version="1.0" ?>
<root>
<data>
<number>01</number>
<step>one</step>
</data>
</root>

最佳答案

在删除之前,您应该将 item 的所有子项移动到 root

for item in root.findall('item'):
for child in item:
root.append(child)
root.remove(item)

print(ET.tostring(root))

代码结果

<root>
<data>
<number>01</number>
<step>one</step>
</data>
</root>

关于 python : Remove an element but not its children from xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67284734/

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