我想在 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')
我不明白为什么我不能多次插入或追加一个元素。
最佳答案
我猜你需要创建新的元素对象来将它们附加到根,否则它是你附加两次的同一个元素,这没有效果:
root = etree.Element('root')
for i in range(3):
child = etree.Element('child')
root.append(child)
希望这有帮助。
关于python etree 插入、追加和子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37572695/