我有两个XML结构,xml_1
和xml_2
xml_1
是我这样创建的结构:
xml_1 = etree.Element('xml_1_root')
xml_2
是我从现有XML数据中解析出来的结构,例如:
xml_2 = etree.parse(xml_2.xml).getroot()
我想做这样的事情:
for node in xml_2.findall("node"):
etree.SubElement(xml_1, node)
使得node
中的所有结构作为子代添加到新创建的xml_1
结构中。
问题是,SubElement
方法(显然)在这里不起作用,因为它是意外使用的。
我的问题是:lxml.etree库是否有一种方法可以将现有(已分析)的元素添加为子元素,以便保留所有属性,文本和子节点信息?
问题是xml_2
中的许多节点都有子节点(其中许多[[also都有子节点,而我宁愿避免将它们递归提取以细粒度地提取所有信息。
Note:这不是如何从头开始