Jay*_*uso 10 python xml elementtree
我正在用元素树编写一些XML.
我给代码一个空模板文件,该文件以XML声明开头:<?xml version= "1.0"?>
当ET完成更改并写入完成的XML时,它会删除声明并从根标记开始.我怎么能阻止这个?
写电话:
ET.ElementTree(root).write(noteFile)
aba*_*ert 20
根据文件:
write(file,encoding ="us-ascii",xml_declaration = None,method ="xml")
将元素树作为XML写入文件.file是文件名,或者是为写入而打开的文件对象.encoding 1是输出编码(默认为US-ASCII).xml_declaration控制是否应将XML声明添加到文件中.永远使用False,始终使用True,仅当不是US-ASCII或UTF-8时使用None(默认为None).method是"xml","html"或"text"(默认为"xml").返回编码的字符串.
因此,write(noteFile)
只有在编码不是US-ASCII或UTF-8且编码为US-ASCII时才明确告诉它编写XML声明; 因此,你没有声明.
我猜你是不是读了这么多,你的下一个问题是"为什么我的Unicode被破坏了",所以我们马上解决这个问题:
ET.ElementTree(root).write(noteFile, encoding="utf-8", xml_declaration=True)
Run Code Online (Sandbox Code Playgroud)
小智 5
ElementTree有不同的版本.他们中的一些人接受了这个xml_declaration
论点,有些则没有.
我碰巧遇到的那个没有.它发出声明,当且仅当encoding != 'utf-8'
.所以,为了得到声明,我打电话write(filename, encoding='UTF-8')
.
归档时间: |
|
查看次数: |
10256 次 |
最近记录: |