我想在我的XML文件中包含XML序言...我尝试了以下-
ET.tostring(root, encoding='utf8', method='xml')
但是它仅在打印时有效,不适用于写入文件。我有一个小代码,可以在其中更改属性并修改XML文件。但是我也想添加XML序言。任何想法如何?
import xml.etree.ElementTree as ET
tree = ET.parse('xyz.xml')
root = tree.getroot()
root[0].text = 'abc'
ET.tostring(root, encoding='utf8', method='xml')
tree.write('xyz.xml')
使用lxml.etree
完成:
import lxml.etree
xml = lxml.etree.parse('xyz.xml')
root = xml.getroot()
root[0].text = 'abc'
with open("xyz2.xml", 'wb') as f:
f.write(lxml.etree.tostring(root, xml_declaration=True, encoding="utf-8"))
print(open("xyz2.xml", 'r').read())
输出:
<?xml version='1.0' encoding='utf-8'?>
<note>
<to>abc</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>