【发布时间】:2020-06-23 09:48:45
【问题描述】:
我有以下 XML 元素,我想使用 Python 中的元素树从每个 Flagelemnts 和 Fav 元素中删除仅有的 2 个 Item 标记。
<Flagelements>
<Item Flags="0" />
<Item Flags="0" />
<Item Flags="0" />
<Item Flags="0" />
</Flagelements>
<Fav>
<Item ShareWhenSavedAsFav="255" />
<Item ShareWhenSavedAsFav="255" />
<Item ShareWhenSavedAsFav="255" />
<Item ShareWhenSavedAsFav="255" />
</Fav>
这是一个巨大的 XML 文件,我已经尝试在下面的代码中做同样的事情。
for child in root:
count=0
for ch in child:
for i in ch:
i.attrib['GUID']=='4df88cf7d0da00000b30927e000007':
if i.tag == 'Item':
print(i.tag, i.attrib)
count=count+1
if count< 1:
ch.remove(i)
但它正在删除所有带有 Item 标签的标签。
另外,我用 .findall 方法尝试了下面的代码
对于 root.findall(".//Fav/Item") 中的项目:
计数=计数+1
如果计数
但是,它会抛出以下错误:
'xml.etree.ElementTree.Element'对象没有属性'getparent'
让我知道如何做同样的事情。
提前致谢。
桑巴旺
【问题讨论】:
-
请上传一个有效的 XML sn-p 并解释预期的输出。
标签: python python-3.x xml elementtree minidom