Я очень новичок в XML и Python и собираю вещи из постов на этом сайте и других.Я пытаюсь сделать копию элемента и добавить его к другому элементу с помощью ElementTree.Начиная с приведенной ниже таблицы ввода:
<Company>
<Identifier>Benesolv</Identifier>
<Employee>
<EESSN>111111111</EESSN>
<Dependent>
<SSN>222222222</SSN>
</Dependent>
</Employee>
</Company>
Это мой код, который работает, но не так, как я хочу, чтобы он был в конечном итоге.
import xml.etree.ElementTree as ET
import copy
tree = ET.parse("file.xml")
root = tree.getroot()
x = copy.deepcopy(root[0])
for elem in tree.findall("Company/Employee/Dependent"):
elem.append(copy.deepcopy(x))
tree.write("file.xml")
Вот вывод, который копируетЭлемент <Identifier>
и добавляет к элементу <Dependent>
:
<Company>
<Identifier>Benesolv</Identifier>
<Employee>
<EESSN>111111111</EESSN>
<Dependent>
<SSN>222222222</SSN>
<Identifier>Benesolv</Identifier>
</Dependent>
</Employee>
</Company>
Я хочу скопировать элемент <EESSN>
и добавить элемент <Dependent>
, но я не знаю, как.Я полагаю, что я просто заменяю root[0]
чем-то, что идентифицирует элемент <EESSN>
, но все, что я пробовал, не работает.Спасибо за помощь.
Желаемый вывод:
<Company>
<Identifier>Benesolv</Identifier>
<Employee>
<EESSN>111111111</EESSN>
<Dependent>
<SSN>222222222</SSN>
<EESSN>111111111</EESSN>
</Dependent>
</Employee>
</Company>