gpt4 book ai didi

Python 3.5 - 更新 XML 并保留 <!DOCTYPE>

转载 作者:行者123 更新时间:2023-12-04 17:53:54 24 4
gpt4 key购买 nike

我的 XML 开头如下:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE ispXCF SYSTEM "IspXCF.dtd" >
<ispXCF version="3.7.0">
<Comment></Comment>
<Chain>
<Comm>JTAG</Comm>
<Device>
....

我正在使用 xml.etree.ElementTree解析器。但是这个解析器删除了以 <!DOCTYPE 开头的第二行

我在 write 中使用以下参数方法:
tree.write("data.xml", encoding="utf-8", xml_declaration=True, short_empty_elements=None)

但它只保留 <?xml version='1.0' encoding='utf-8'?>
有什么方法可以不删除 <!DOCTYPE线?还是我必须使用其他一些 XML 解析器?

最佳答案

好像 xml.etree.ElementTree 对 doctype 声明的支持很差。

您可以使用 TreeBuilder 为新的 XML 创建它们。对象,但不从 Element 读取它们或 ElementTree从现有 XML 创建的对象。

answered here ,您必须手动复制粘贴 doctype 声明......恕我直言,非常丑陋。

所以,总的来说,最好是 switch to lxml .

关于Python 3.5 - 更新 XML 并保留 &lt;!DOCTYPE>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42110463/

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