Вставка существующего корня в существующее Python ElementTree - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь связать два существующих объекта Python ElementTree вместе.

import xml.etree.ElementTree as ET

root = ET.Element('Hello')
root2 = ET.Element('World')
node = ET.SubElement(root2, 'country')
node.text = 'Belgium'

При печати

print(ET.tostring(root))
print(ET.tostring(root2))

Я получаю

b'<Hello />'
b'<World><country>Belgium</country></World>'

Как мнедобавить root2 в root, чтобы получить результат?`

print(ET.tostring(root))

b'<Hello><World><country>Belgium</country></World></Hello>'

Ответы [ 2 ]

1 голос
/ 06 марта 2019

Как насчет

import xml.etree.ElementTree как ET

hello = ET.Element('Hello')
world = ET.Element('World')
hello.insert(0,world)
country = ET.SubElement(world,'Country')
country.text = 'Belgium'
print(ET.tostring(hello))

Вывод

b'<Hello><World><Country>Belgium</Country></World></Hello>'
0 голосов
/ 06 марта 2019

Кажется, что я могу использовать тот же синтаксис, что и в списках

root.append(root2)

print(ET.tostring(root))

b'<Hello><World><country>Belgium</country></World></Hello>'
...