我正在使用xml.etree.ElementTree
构建xml文档。
我使用ET.Element('root')
创建根节点,然后根据要求使用ET.SubElement(parent_node, 'child_name')
递归创建子节点,然后使用xml_minidom.parseString(ET.tostring(current_node)).toprettyxml()
输出。
问题是,没有子节点的节点输出为<nodeName/>
,但我希望它输出为<nodeName></nodeName>
。我该怎么办?
答案 0 :(得分:0)
由于评论,我找到了一种解决方法(以某种方式)。根据需要,将无子节点的text属性设置为空白或换行符。
>>> childlessNode = ET.SubElement(parent_node, "childless")
>>> childlessNode.text = ' '
或者如果不需要它的引用
ET.SubElement(parent_node, "childless").text = ' '
引用(感谢Caramiriel的评论):https://github.com/python/cpython/blob/09b52471f39ba280d836b945d47719c697af0b45/Lib/xml/etree/ElementTree.py#L934