You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Python生成的XML文件添加指定XML声明头?

修改Python代码添加XML声明头

你可以通过两种方式实现添加目标XML声明头:

方法一:调整ET.tostring()的参数

直接在ET.tostring()中指定xml_declaration=True,同时明确编码为'utf-8',生成的字节流就会包含所需的声明头。修改后的代码如下:

import xml.etree.ElementTree as ET
import requests
import json
import csv

data = ET.Element('XMLFORMPOST')

element0 = ET.SubElement(data, 'REQUEST')
element1 = ET.SubElement(data, 'LOGIN')
element2 = ET.SubElement(data, 'PARTNUM')
element2.text = str(ingramPartNumber)
element3 = ET.SubElement(data, 'LOOKUPTYPE')

# 添加xml_declaration参数并指定编码
b_xml = ET.tostring(data, xml_declaration=True, encoding='utf-8')
with open("finalfile.xml", "wb") as f:
    f.write(b_xml)

方法二:使用ElementTree对象的write()方法

这是更符合ElementTree规范的用法,先创建ElementTree对象,再调用write()方法时传入声明参数:

import xml.etree.ElementTree as ET
import requests
import json
import csv

data = ET.Element('XMLFORMPOST')

element0 = ET.SubElement(data, 'REQUEST')
element1 = ET.SubElement(data, 'LOGIN')
element2 = ET.SubElement(data, 'PARTNUM')
element2.text = str(ingramPartNumber)
element3 = ET.SubElement(data, 'LOOKUPTYPE')

# 创建ElementTree实例并写入文件
tree = ET.ElementTree(data)
tree.write("finalfile.xml", xml_declaration=True, encoding='utf-8')

两种方法都能生成包含<?xml version='1.0' encoding='utf8'?>声明头的XML文件,第二种方法更贴合官方推荐的使用流程。

内容的提问来源于stack exchange,提问作者Alex Co

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 20:55:05