gpt4 book ai didi

Python - 元素树正在删除 XML 声明

转载 作者:太空狗 更新时间:2023-10-29 18:16:29 24 4
gpt4 key购买 nike

我正在用元素树编写一些 XML。

我为代码提供了一个以 XML 声明开头的空模板文件:<?xml version= "1.0"?>当 ET 完成更改并写入完整的 XML 时,它会剥离声明并从根标记开始。我怎样才能阻止这个?

写调用:

ET.ElementTree(root).write(noteFile)

最佳答案

根据 the documentation :

write(file, encoding="us-ascii", xml_declaration=None, method="xml")

Writes the element tree to a file, as XML. file is a file name, or a file object opened for writing. encoding 1 is the output encoding (default is US-ASCII). xml_declaration controls if an XML declaration should be added to the file. Use False for never, True for always, None for only if not US-ASCII or UTF-8 (default is None). method is either "xml", "html" or "text" (default is "xml"). Returns an encoded string.

因此,write(noteFile) 明确告诉它仅当编码不是 US-ASCII 或 UTF-8 并且编码是 US-ASCII 时才编写 XML 声明;因此,您不会得到任何声明。

我猜如果你没有读这么多,你的下一个问题将是“为什么我的 Unicode 坏了”,所以让我们同时修复这两个问题:

ET.ElementTree(root).write(noteFile, encoding="utf-8", xml_declaration=True)

关于Python - 元素树正在删除 XML 声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12612648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com