2016-11-02 130 views
0

給定父元素,如何在最後位置插入子元素?到目前爲止,使用的指數-1會將孩子在倒數第二個位置:在最後位置插入子元素

In [22]: et.tostring(test) 
Out[22]: b'<a><orange/><b>hee</b><apple/><pear/><b>haa</b></a>' 
In [23]: test.insert(-1, et.Element('mango')) 
In [24]: et.tostring(test) 
Out[24]: b'<a><orange/><b>hee</b><apple/><pear/><mango/><b>haa</b></a>' 

回答

1

獲取子元素的數量(與len()),並用其作爲指標。

from lxml import etree as et 

test = et.fromstring('<a><orange/><b>hee</b><apple/><pear/><b>haa</b></a>') 
test.insert(len(test), et.Element('mango')) 
print et.tostring(test, pretty_print=True) 

輸出:

<a> 
    <orange/> 
    <b>hee</b> 
    <apple/> 
    <pear/> 
    <b>haa</b> 
    <mango/> 
</a>