2013-10-23 65 views
2
关闭和打开元素
root = etree.Element('document') 
rootTree = etree.ElementTree(root) 
firstChild = etree.SubElement(root, 'test') 

输出是:覆盖LXML行为编写空标签

<document> 
<test/> 
</document 

我所要的输出是:

<document> 
<test> 
</test> 
</document> 

我知道两者是等价的,但有没有办法获得我想要的输出。

回答

3

这里是你如何能做到这:

from lxml import etree 

root = etree.Element('document') 
rootTree = etree.ElementTree(root) 
firstChild = etree.SubElement(root, 'test') 

print etree.tostring(root, pretty_print=True) 

# Set empty string as element content to force open and close tags 
firstChild.text = '' 

print etree.tostring(root, pretty_print=True) 

输出:

<document> 
    <test/> 
</document> 

<document> 
    <test></test> 
</document>