这篇文章写的特别好 minidom模块格式化、对齐、换行、整理xml文件
doc = xml.dom.minidom.parse("a.xml")
root = doc.documentElement
#获取节点
objects=root.getElementsByTagName('object')
for x in objects:
#name获取节点
name_node=x.getElementsByTagName("name")[0]
# 得到name节点的值eg <name> label </name>
label=name_node.childNodes[0].data
print(label)
if label=="a":
#删除某个节点
root.removeChild(x)
# 保存修改后的xml
f = codecs.open("b.xml",'w','utf-8')
doc.writexml(f,addindent=' ',newl='\n',encoding = 'utf-8')
f.close()
输出label
其中doc.writexml
函数,参考上面的链接
<?xml version="1.0" ?>
<annotation>
<folder>jyz_pl</folder>
<filename>00_00_02_30.jpg</filename>
<path>D:\data\武\3\3\jyz_pl\00_00_02_30.jpg</path>
<source>
<database>Unknown</database>
</source>
<size>
<width>4032</width>
<height>3024</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>b</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>817</xmin>
<ymin>205</ymin>
<xmax>1307</xmax>
<ymax>757</ymax>
</bndbox>
</object>
<object>
<name>yw_gkxfw</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>817</xmin>
<ymin>205</ymin>
<xmax>1307</xmax>
<ymax>757</ymax>
</bndbox>
</object>
</annotation>