相关疑难解决方法(0)

XML声明中的默认编码(UTF-8)的默认值如何?

我知道XML的默认编码是UTF-8.所有XML消费者都必须等等.因此,这不仅仅是XML是否具有默认编码的问题.

我也知道文档开头的XML-Declarataion<?xml version="1.0" ... ?>是可选的.并且指定其中的编码也是可选的.

所以我问自己,以下两个XML声明是否是完全相同的两个表达式:

<?xml version="1.0"?>
<?xml version="1.0" encoding="UTF-8"?>
Run Code Online (Sandbox Code Playgroud)

根据我自己目前的理解,我会说这些是等价的,但我不知道.是否已在某处指定了这两个声明的等效性?

(考虑这两个示例行,每个行都是XML文档的第一行,前面是任意(零)字节,并且是UTF-8编码的)

xml utf-8

8
推荐指数
3
解决办法
7818
查看次数

使用elementtree处理后删除XML标头

我有一个xml文件,我使用Elementtree为xml文件添加一个新标签.我在处理之前的xml文件如下

<?xml version="1.0" encoding="utf-8"?>

<PackageInfo xmlns="http://someurlpackage">


<data ID="http://someurldata1">data1</data >
<data ID="http://someurldata2">data2</data >
<data ID="http://someurldata3">data3</data >
</PackageInfo>
Run Code Online (Sandbox Code Playgroud)

我使用以下python代码添加新的数据标记并将其写入我的xml文件

 tree = ET.ElementTree(xmlFile)
 root = tree.getroot()
 elem= ET.Element('data')
 elem.attrib['ID']="http://someurldata4"
 elem.text='data4'
 root[1].append(elem)
 tree = ET.ElementTree(root)
 tree.write(xmlFile)
Run Code Online (Sandbox Code Playgroud)

但是生成的xml文件<?xml version="1.0" encoding="utf-8"?>不存在,文件如下所示

<PackageInfo xmlns="http://someurlpackage">
<data ID="http://someurldata1">data1</data >
<data ID="http://someurldata2">data2</data >
<data ID="http://someurldata3">data3</data >
</PackageInfo>
Run Code Online (Sandbox Code Playgroud)

有没有办法包括xml标头而不是硬编码线

python elementtree

5
推荐指数
2
解决办法
6939
查看次数

标签 统计

elementtree ×1

python ×1

utf-8 ×1

xml ×1