如何将etree Element对象(非ElementTree)转换为可打印的字符串?
问题解答
你没有遗漏相关用法,xml.etree.ElementTree.tostring() 本身就支持直接传入Element对象作为入参,不需要单独的转换方法。
基础用法示例
首先导入模块:
import xml.etree.ElementTree as ET
创建测试用的Element节点:
# 创建根节点 root = ET.Element('data') # 添加子节点 item = ET.SubElement(root, 'item', id='1') item.text = '示例内容'
直接将Element对象传入tostring方法即可完成转换:
# 输出bytes类型的XML内容 xml_bytes = ET.tostring(root) # 指定编码转换为字符串 xml_str = ET.tostring(root, encoding='utf-8').decode('utf-8')
补充说明
- 传入Element对象时,方法会以该节点为根,输出包含其所有子节点的完整XML片段
- 所有针对ElementTree生效的可选参数同样适用于Element入参,常用参数包括:
encoding:指定输出编码,默认是us-asciimethod:可选xml/html/text,调整输出格式short_empty_elements:布尔值,控制空节点是否用<tag/>格式输出
内容的提问来源于stack exchange,提问作者Derrick
相关产品推荐
相关产品推荐

