Python 处理 xml 文档的方法有很多,除了经典的 sax 和 dom 之外,还有一个 ElementTree。

首先 import 之:

1
from xml.etree import ElementTree as etree

然后开始构建 xml 树:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from xml.etree.ElementTree import Element, SubElement, ElementTree
# 生成根节点
root = Element('root')
# 生成第一个子节点 head
head = SubElement(root, 'head')
# head 节点的子节点
title = SubElement(head, 'title')
title.text = 'Well Dola!'
# 生成 root 的第二个子节点 body
body = SubElement(root, 'body')
# body 的内容
body.text = 'I love Dola!'
tree = ElementTree(root)

这样就得到了一个 xml 树的对象 tree 以及它的根节点的对象 root

接着我们把它们变成 xml 串,有两个办法,一个是用 tree 对象的 write 方法将 xml 内容写成一个文件,还有一个是用 etree 的 tostring 方法转成 xml 字符串:

1
2
3
4
5
# 第一种
tree.write('result.xml', encoding='utf-8')
# 第二种
xml_string = etree.tostring(root)
# xml_string 就是 xml 字符串了

但是第二种有一个问题,就是它没有

1
<?xml version="1.0"?>

这个头部定义内容:

1
'<root><head><title>Well Dola!</title></head><body>I love Dola!</body></root>'

怎么办呢?

有一个办法是使用 minidom 来实现,方法如下:

1
2
3
4
5
from xml.dom import minidom
# 使用 minidom 解析
tree = minidom.parseString(xml_string)
# 重新生成 xml 字符串
xml_string = tree.toxml()

虽然让计算机多运行了一些代码,但是这样可以把问题解决掉。

最后生成的 xml 代码如下:

1
u'<?xml version="1.0" ?><root><head><title>Well Dola!</title></head><body>I love Dola!</body></root>'

当然还可以使用 minidom 中 tree 对象的 toprettyxml 方法把 xml 打得漂亮一点。

使用 Python ElementTree 生成 xml相关推荐

  1. python etree创建xml_利用 Python ElementTree 生成 xml的实例

    Python 处理 xml 文档的方法有很多,除了经典的 sax 和 dom 之外,还有一个 ElementTree. 首先 import 之: from xml.etree import Eleme ...

  2. python:ElementTree操作XML

    http://blog.csdn.net/menglei8625/article/details/7494509 http://www.python.org/doc/current/library/x ...

  3. 怎么用python创建文件-如何用Python创建生成xml文档文件的方法

    用如何用Python完成创建生成xml文档文件的工作. 需要用到的方法:from xml.dom.minidom import Document,想必大家很熟悉这个操作了,接下来就用python 创建 ...

  4. Python ElementTree 解析 xml文件

    文章目录 一.xml文件结构 二.基础解析 1.加载文档 2.获取根元素 3.根元素的属性 4.遍历其直接子元素 5.通过索引值来访问特定的子元素 查找需要的元素 三.支持通过XPath查找元素 四. ...

  5. python ElementTree解析xml

    import xml.etree.ElementTree as ETtree = ET.parse(args.test_file) root = tree.getroot()for m in root ...

  6. python批量生成,用python批量生成简单的xml文档

    最近生成训练数据时,给一批无效的背景图片生成对应的xml文档,我用python写了一个简单的批量生成xml文档的demo,遇见了意外的小问题,记录一下. 报错问题为:ImportError: No m ...

  7. python利用ElementTree读写xml

    1. 写xml from xml.etree.ElementTree import Element, SubElement, ElementTree# 生成根节点 root =Element('roo ...

  8. Python之xml文件处理(一)——使用ElementTree遍历xml

    2019独角兽企业重金招聘Python工程师标准>>> 发现python上有关xml的实现方法还是蛮多的,第三方的框架也不少,但是其中没有像dom4j那样名声响亮的框架.所以,还是中 ...

  9. python学习笔记(生成xml)

    想着给框架加些功能 首先想到的是生成测试报告 这里就涉及到了生成什么格式的文件 我这边就准备生成 xml 格式的文件 自己先学习了整理了下 代码如下: 1 #!/usr/bin/env python ...

最新文章

  1. I2C总线学习(四)--读写过程
  2. matlab p-tite分割图像,P'tite fourmi
  3. 在ABAP/4中声明表格控制
  4. 【收藏】k8s使用如下配置给pod固定ip
  5. ORACLE PL/SQL编程之八: 把触发器说透
  6. 苹果iPhone XI奋起直追?直接升级四摄镜头
  7. [转载] 说说 Python 字典结构的 get() 方法
  8. Edraw Office Viewer 8.X Edraw Office Viewer
  9. 所有计算机都可以安装win7,t570都可以装win7系统吗_win7 64位系统所有电脑都能装吗...
  10. linux文件夹英文全称,Linux--Ubuntu中文文件夹转英文
  11. contents()与children()的用法和区别
  12. 网络信息安全之安全风险管理
  13. 硬件设计人员制作电路板需提供的材料
  14. layUi框架入门篇(一)
  15. 罗斯蒙特CNG050S290NQEPMZZZ流量计
  16. springboot毕设项目创新创业管理系统1f90r(java+VUE+Mybatis+Maven+Mysql)
  17. python的and和or优先级
  18. 程序员:不是所有的程序员称为程序员!
  19. 吃透阿里P8推荐424页Java服务端研发知识图谱后,直接入职蚂蚁P6
  20. 【车载开发系列】CAN总线通信---总线报文格式

热门文章

  1. linux wifi 配置 编程,linux 无线手动配置
  2. 计算机系统中存储管理是,《计算机操作系统5、存储管理.doc
  3. air什么意思中文_Air 的中文意思是什么?
  4. 法在计算机课程中的应用,任务驱动法在计算机办公课程中的应用
  5. 网络交换机3大常见故障问题
  6. 【渝粤题库】陕西师范大学202411 管理学基础 作业 (专升本、高起本、高起专)
  7. 【渝粤题库】广东开放大学 文化市场营销 形成性考核 (2)
  8. php 长微博程序,长微博生成工具PHP源码 根据文字生成长微博图片 - substr_count
  9. zabbix监控suse linux,SuSE 系统之部署 Zabbix 监控服务
  10. 【MFC系列-第22天】GDI算法实战——过渡色