使用 Python ElementTree 生成 xml
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相关推荐
- python etree创建xml_利用 Python ElementTree 生成 xml的实例
Python 处理 xml 文档的方法有很多,除了经典的 sax 和 dom 之外,还有一个 ElementTree. 首先 import 之: from xml.etree import Eleme ...
- python:ElementTree操作XML
http://blog.csdn.net/menglei8625/article/details/7494509 http://www.python.org/doc/current/library/x ...
- 怎么用python创建文件-如何用Python创建生成xml文档文件的方法
用如何用Python完成创建生成xml文档文件的工作. 需要用到的方法:from xml.dom.minidom import Document,想必大家很熟悉这个操作了,接下来就用python 创建 ...
- Python ElementTree 解析 xml文件
文章目录 一.xml文件结构 二.基础解析 1.加载文档 2.获取根元素 3.根元素的属性 4.遍历其直接子元素 5.通过索引值来访问特定的子元素 查找需要的元素 三.支持通过XPath查找元素 四. ...
- python ElementTree解析xml
import xml.etree.ElementTree as ETtree = ET.parse(args.test_file) root = tree.getroot()for m in root ...
- python批量生成,用python批量生成简单的xml文档
最近生成训练数据时,给一批无效的背景图片生成对应的xml文档,我用python写了一个简单的批量生成xml文档的demo,遇见了意外的小问题,记录一下. 报错问题为:ImportError: No m ...
- python利用ElementTree读写xml
1. 写xml from xml.etree.ElementTree import Element, SubElement, ElementTree# 生成根节点 root =Element('roo ...
- Python之xml文件处理(一)——使用ElementTree遍历xml
2019独角兽企业重金招聘Python工程师标准>>> 发现python上有关xml的实现方法还是蛮多的,第三方的框架也不少,但是其中没有像dom4j那样名声响亮的框架.所以,还是中 ...
- python学习笔记(生成xml)
想着给框架加些功能 首先想到的是生成测试报告 这里就涉及到了生成什么格式的文件 我这边就准备生成 xml 格式的文件 自己先学习了整理了下 代码如下: 1 #!/usr/bin/env python ...
最新文章
- I2C总线学习(四)--读写过程
- matlab p-tite分割图像,P'tite fourmi
- 在ABAP/4中声明表格控制
- 【收藏】k8s使用如下配置给pod固定ip
- ORACLE PL/SQL编程之八: 把触发器说透
- 苹果iPhone XI奋起直追?直接升级四摄镜头
- [转载] 说说 Python 字典结构的 get() 方法
- Edraw Office Viewer 8.X Edraw Office Viewer
- 所有计算机都可以安装win7,t570都可以装win7系统吗_win7 64位系统所有电脑都能装吗...
- linux文件夹英文全称,Linux--Ubuntu中文文件夹转英文
- contents()与children()的用法和区别
- 网络信息安全之安全风险管理
- 硬件设计人员制作电路板需提供的材料
- layUi框架入门篇(一)
- 罗斯蒙特CNG050S290NQEPMZZZ流量计
- springboot毕设项目创新创业管理系统1f90r(java+VUE+Mybatis+Maven+Mysql)
- python的and和or优先级
- 程序员:不是所有的程序员称为程序员!
- 吃透阿里P8推荐424页Java服务端研发知识图谱后,直接入职蚂蚁P6
- 【车载开发系列】CAN总线通信---总线报文格式
热门文章
- linux wifi 配置 编程,linux 无线手动配置
- 计算机系统中存储管理是,《计算机操作系统5、存储管理.doc
- air什么意思中文_Air 的中文意思是什么?
- 法在计算机课程中的应用,任务驱动法在计算机办公课程中的应用
- 网络交换机3大常见故障问题
- 【渝粤题库】陕西师范大学202411 管理学基础 作业 (专升本、高起本、高起专)
- 【渝粤题库】广东开放大学 文化市场营销 形成性考核 (2)
- php 长微博程序,长微博生成工具PHP源码 根据文字生成长微博图片 - substr_count
- zabbix监控suse linux,SuSE 系统之部署 Zabbix 监控服务
- 【MFC系列-第22天】GDI算法实战——过渡色