原文章:删除xml文件中不需要的节点及其子信息(VOC格式、python语言)
import xml.etree.cElementTree as ET
import os
path_root = [r'C:\Users\18125\Desktop\remove&merge\Annotations_insulator'] #自己的xml路径
CLASSES = [ "insulator"] #要保留的类别
for anno_path in path_root:
xml_list = os.listdir(anno_path)
for axml in xml_list:
path_xml = os.path.join(anno_path, axml)
print(path_xml)
tree = ET.parse(path_xml)
root = tree.getroot()
for child in root.findall('object'):
name = child.find('name').text
if not name in CLASSES:
root.remove(child)
print(axml)
tree.write(os.path.join(r'C:\Users\18125\Desktop\remove&merge\new_annotations', axml)) #处理结束后保存的路径