Я выполняю обнаружение объектов, в котором у меня есть два XML файла, которые я хочу добавить XML объектов, отсутствующих в файле XML, к новым XML файлам.
Пожалуйста, помогите мне с этим. Я написал код, который создает объектную архитектуру, если кто-нибудь может помочь мне добавить этот объект в другой XML, что было бы здорово.
import os
import xml.etree.ElementTree as ET
import glob
Old_XML_Location = "..."
New_XML_Location = "..."
for new_xml_file in glob.glob(New_XML_Location + '/*.xml'):
for old_xml_file in glob.glob(Old_XML_Location + '/*.xml'):
print(old_xml_file)
if os.path.basename(new_xml_file) == os.path.basename(old_xml_file):
#xml_list = []
tree = ET.parse(new_xml_file)
root = tree.getroot()
for member in root.findall('object'):
print(member[0].text)
#if member[0].text == "Time":
value = (member[0].text,
int(member[4][0].text),
int(member[4][1].text),
int(member[4][2].text),
int(member[4][3].text)
)
xlobject=ET.Element("object")
root.append(xlobject)
xlbname=ET.SubElement(xlobject,"name")
xlbname.text = value[0]
pose=ET.SubElement(xlobject,"pose")
pose.text="Unspecified"
truncate=ET.SubElement(xlobject,"truncated")
truncate.text="0"
difficult=ET.SubElement(xlobject,"difficult")
difficult.text="0"
bndbox=ET.SubElement(xlobject,"bndbox")
tree = ET.ElementTree(root)
xlxmin=ET.SubElement(bndbox,"xmin")
xlxmin.text=str(int(value[1]))
xlymin=ET.SubElement(bndbox,"ymin")
xlymin.text=str(int(value[2]))
xlxax=ET.SubElement(bndbox,"xmax")
xlxax.text=str(int(value[3]))
xlymax=ET.SubElement(bndbox,"ymax")
xlymax.text=str(int(value[4]))
tree = ET.ElementTree(root)
tree.write(old_xml_file)
# with open(old_xml_file, "w") as fh:
# fh.write(tree)
# else :
# print("False")