python etree 插入、附加和子元素
python etree insert, append and SubElement
我想在 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 中创建这样的元素树:
<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)
希望对您有所帮助。