我想在Python中创建这样的元素树:
<parent>
<child/>
<child/>
<child/>
</parent>
我想将它用作我以后可以处理的空模板。但是,我无法在<child>
元素中插入或附加多个<parent>
元素,尽管etree.SubElement
有效。更具体一点:
这会产生<parent><child/></parent>
,即只插入一个<child>
:
root = etree.Element('root')
child = etree.Element('child')
for i in range(3):
root.insert(0,child)
这也不起作用,并产生与上面相同的结果:
root = etree.Element('root')
child = etree.Element('child')
for i in range(3):
root.append(child)
这有效:
root = etree.Element('root')
for i in range(3):
etree.SubElement('child')
我不明白为什么我不能多次插入或追加元素。
答案 0 :(得分:2)
我猜你需要创建新的元素对象以将它们附加到根,否则它是你追加两次的相同元素,这没有任何效果:
root = etree.Element('root')
for i in range(3):
child = etree.Element('child')
root.append(child)
希望这有帮助。