Python 初学者需要帮助过滤 .xml 文件。我一直在尝试使用 xml.etree.ElementTree,但收效甚微。
xml 看起来像这样:
<ClientData>
<Report>
<ReportHost>
<ReportItem pluginID="11111">
Ipsum lorem etc leviosa!
</ReportItem>
</ReportHost>
<ReportHost>
<ReportItem pluginID="22222">
Sed ut perspiciatis unde omnis iste
</ReportItem>
</ReportHost>
</Report>
</ClientData>
如果 ReportItem.pluginID 与黑名单上的项目匹配,我想删除整个元素(ReportItem)及其子元素,然后编写过滤后的 .xml。谢谢!
编辑 - 这是我到目前为止所拥有的,但我不确定如何让它与这个级别的嵌套一起工作:
from xml.etree.ElementTree import ElementTree
tree = ElementTree()
# Test input
tree.parse("test.xml")
for node in tree.findall('ReportItem'):
if tag.attrib['pluginID']=='11111':
tree.remove(node)
tree.write('test_out.xml')