我正在使用 Python 生成 XML 文档ElementTree,但是tostring
函数不包括XML声明当转换为明文时。
from xml.etree.ElementTree import Element, tostring
document = Element('outer')
node = SubElement(document, 'inner')
node.NewValue = 1
print tostring(document) # Outputs "<outer><inner /></outer>"
我需要我的字符串包含以下 XML 声明:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
然而,似乎没有任何记录的方法可以做到这一点。
是否有正确的方法来呈现 XML 声明ElementTree
?
我惊讶地发现似乎没有办法ElementTree.tostring()
。但是您可以使用ElementTree.ElementTree.write()
将 XML 文档写入假文件:
from io import BytesIO
from xml.etree import ElementTree as ET
document = ET.Element('outer')
node = ET.SubElement(document, 'inner')
et = ET.ElementTree(document)
f = BytesIO()
et.write(f, encoding='utf-8', xml_declaration=True)
print(f.getvalue()) # your XML file, encoded as UTF-8
See 这个问题。即使如此,我认为如果不自己编写前缀,您也无法获得“独立”属性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)