【问题标题】:How to add "standalone="yes" to XML declaration using xml.etree.ElementTree如何使用 xml.etree.ElementTree 将“standalone="yes”添加到 XML 声明
【发布时间】:2021-06-17 17:02:44
【问题描述】:

我已尝试查看与此类似的其他问题,但似乎没有人回答 xml.etree.ElementTree。

目前我的代码是这样的(它只是一个简单的 XML 生成器)

import xml.etree.ElementTree as ET

example1=ET.Element('example1')
example2=ET.SubElement(example1, 'example2').text='1234'
tree = ET.ElementTree(example1)
NewXML='example.xml'

tree.write(NewXML,encoding = 'UTF-8', xml_declaration = True)

目前的输出就是这个文件:

<?xml version='1.0' encoding='UTF-8'?>
<example1>
    <example2>1234</example2>
</example1>

我想添加声明 Standalone = 'yes' 所以输出应该是:

<?xml version='1.0' encoding='UTF-8' standalone = 'yes'?>
<example1>
    <example2>1234</example2>
</example1>

但这就是我遇到问题的地方。

我试过了

tree.write(NewXML,encoding = "UTF-8", xml_declaration = True, standalone = True)
tree.write(NewXML,encoding = "UTF-8", xml_declaration = True, standalone = "yes")

但我收到此错误:TypeError: write() got an unexpected keyword argument 'standalone'

【问题讨论】:

标签: python xml elementtree xml-declaration


【解决方案1】:

自己写声明怎么样?

>>> import xml.etree.ElementTree as ET
>>> example1=ET.Element('example1')
>>> example2=ET.SubElement(example1, 'example2').text='1234'
>>> tree = ET.ElementTree(example1)
>>> NewXML='example.xml'
>>> out = open(NewXML, 'wb')
>>> out.write(b'<?xml version="1.0" encoding="UTF-8" standalone = "yes"?>\n')
58
>>> tree.write(out, encoding = 'UTF-8', xml_declaration = False)
>>> out.close()
>>>

【讨论】:

    猜你喜欢
    • 2019-07-26
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 2011-05-10
    相关资源
    最近更新 更多