我正在尝试使用Python和lxml输出XML文件
但是,我注意到一件事,如果标签没有文本,它就不会自行关闭.一个例子是:
root = etree.Element('document')
rootTree = etree.ElementTree(root)
firstChild = etree.SubElement(root, 'test')
Run Code Online (Sandbox Code Playgroud)
这个输出是:
<document>
<test/>
</document
Run Code Online (Sandbox Code Playgroud)
我希望输出为:
<document>
<test>
</test>
</document>
Run Code Online (Sandbox Code Playgroud)
所以基本上我想关闭一个没有文本的标签,但是用于属性值.我怎么做?而且,这样的标签叫什么?我会用谷歌搜索它,但我不知道如何搜索它.
请注意,<test></test>并<test/>意味着完全一样的东西.你想要的是test-tag实际上有一个包含在单个换行符中的文本.但是,通常会写一个没有文本的空标记,<test/>并且坚持将其显示为没有意义<test></test>.
为了澄清@ymv答案,以防其他人有所帮助:
from lxml import etree
root = etree.Element('document')
rootTree = etree.ElementTree(root)
firstChild = etree.SubElement(root, 'test')
print(etree.tostring(root, method='html'))
### b'<document><test></test></document>'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3227 次 |
| 最近记录: |