检测并控制Python中自关闭xml元素的创建?

时间:2013-02-08 13:30:03

标签: python xml elementtree

也许我忽略了但我没有在documentation找到这个。

在Python的ElementTree中解析xml时,如何检测元素标记节点是self-closing(或不成对,即以/>结尾)?

创建xml文件时,我如何明确说明我是self-closing/>)还是explicitly closed(即。</example>)xml标记?

如果ElementTree没有,其他python解析器会更好地处理这个吗?

1 个答案:

答案 0 :(得分:1)

python 3.4在2014年3月解决了这个问题。它将short_empty_elements参数添加到ElementTree的所有序列化函数中。

>>> from xml.etree import ElementTree as ET
>>> msg = ET.Element('msg',{'x': 'y'})
>>> ET.tostring(msg)
b'<msg x="y" />'
>>> ET.tostring(msg, short_empty_elements=False)
b'<msg x="y"></msg>'