python etree创建xml_利用 Python ElementTree 生成 xml的实例
Python 处理 xml 文档的方法有很多,除了经典的 sax 和 dom 之外,还有一个 ElementTree。
首先 import 之:
from xml.etree import ElementTree as etree
然后开始构建 xml 树:
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 字符串:
# 第一种
tree.write('result.xml', encoding='utf-8')
# 第二种
xml_string = etree.tostring(root)
# xml_string 就是 xml 字符串了
但是第二种有一个问题,就是它没有
这个头部定义内容:
'Well Dola!I love Dola!'
怎么办呢?
有一个办法是使用 minidom 来实现,方法如下:
from xml.dom import minidom
# 使用 minidom 解析
tree = minidom.parseString(xml_string)
# 重新生成 xml 字符串
xml_string = tree.toxml()
虽然让计算机多运行了一些代码,但是这样可以把问题解决掉。
最后生成的 xml 代码如下:
u'<?xml version="1.0" ?>Well Dola!I love Dola!'
当然还可以使用 minidom 中 tree 对象的 toprettyxml 方法把 xml 打得漂亮一点。
补充知识:Python ElementTree 导出 xml 缺少 开头声明
使用ElementTree修改完xml后,写入文件时,发现开头缺少了 <?xml version='1.0' encoding='utf-8'?>
解决办法:
在调用ElementTree的write方法写入xml时,参数里增加 encoding=‘utf-8' 以及 xml_declaration=True
et_root.write('file。xml', encoding='utf-8', xml_declaration=True)
以上这篇利用 Python ElementTree 生成 xml的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
本文标题: 利用 Python ElementTree 生成 xml的实例
本文地址: http://www.cppcns.com/jiaoben/python/302318.html
python etree创建xml_利用 Python ElementTree 生成 xml的实例相关推荐
- python按模板生成html_python 利用jinja2模板生成html代码实例
这篇文章主要介绍了python 利用jinja2模板生成html代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下from jinja2 imp ...
- 用python做数据分析pdf_利用python进行数据分析pdf
利用python进行数据分析pdf微盘下载!<利用python进行数据分析>利用Python实现数据密集型应用由浅入深帮助读者解决数据分析问题~适合刚刚接触Python的分析人员以及刚刚接 ...
- Python语言学习:利用python获取当前/上级/上上级目录路径(获取路径下的最后叶目录的文件名、合并两个不同路径下图片文件名等目录/路径案例、正确加载图片路径)之详细攻略
Python语言学习:利用python获取当前/上级/上上级目录路径(获取路径下的最后叶目录的文件名.合并两个不同路径下图片文件名等目录/路径案例.正确加载图片路径)之详细攻略 目录 利用python ...
- Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)—命令提示符cmd的几种方法
Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)-命令提示符cmd的几种方法 目录 利用python语言实现调用内部命令-命令提示符cmd的几种方法 T1. ...
- 第一个程序(python)-helloworld_创建第一个python程序:‘Hello World!’
安装好python解释器就可以创建第一个仪式程序Helloworld了 1.Python程序的3种运行方式 1.1.Python解释器直接运行 在Windows或者Linux命令行输入python,进 ...
- Python之ffmpeg:利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件
Python之ffmpeg:利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件 目录 利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件 1.先下载ff ...
- Python基础笔记_Day12_Python元类、type动态创建类、Python动态创建方法、Python运算符、Python发邮件、短信
Day12_Python元类.type动态创建类.Python动态创建方法.Python运算符重载.Python发邮件.短信 12.01_Python语言基础(类对象)(熟悉) 12.02_Pytho ...
- 使用 Python ElementTree 生成 xml
Python 处理 xml 文档的方法有很多,除了经典的 sax 和 dom 之外,还有一个 ElementTree. 首先 import 之: 1 from xml.etree import Ele ...
- python 词云_利用Python生成词云
利用Python生成词云 一.第三方库的安装与介绍 1.1 Python第三方库jieba(中文分词) 1.介绍 "结巴"中文分词:做最好的 Python 中文分词组件. 2.特 ...
最新文章
- (2)iOS用UICollectionView实现Gallery效果
- EFQRCode:自动生成花式二维码
- 机械转行的都干啥去了?机械转行计算机难吗?
- 基于WinSvr2012共享文件夹的Hyper-V实时迁移之三实时迁移的实现及验证
- Android端调用Caffe模型实现CNN分类
- 删除 Mac AppStore 正在下载的应用
- linux内核配置与编译,LINUX内核的配置与编译、安装
- 超详细springboot热部署
- APP 怎么进行抓包接口测试
- Java程序员月薪三万,需要技术达到什么水平?
- English trip V1 - 20.Look at me 看着我 Teacher:Solo Key: 声调(英语默认就声调[rising]和降调[falling]两种)...
- 基于S3C2440A的DM9000A的调试笔记
- cocoscreator 资源加密
- Godaddy网站SSL证书安装
- matlab绘制香农定理曲线,基于matla对香农公式仿真.doc
- 微信跳转浏览器html5,微信跳转浏览器或提示手机端打开HTML代码 最新
- 为什么要选择云原生数据库
- 软考java题目_软件工程软考题目总结
- 小麦苗健康检查脚本说明
- Python 命令行cmd指定颜色设置
热门文章
- C语言实验——打印金字塔_JAVA
- Caffe代码导读(4):数据集准备
- jQuery最佳实践
- 软件重构过程中的思维转换: 遗留代码如何变废为宝
- 线性规划、梯度下降、正规方程组——斯坦福ML公开课笔记1-2
- PageRank算法并行实现
- 程序员面试题精选100题(09)-链表中倒数第k个结点[数据结构]
- 程序员面试题精选100题(06)-二元查找树的后序遍历结果[数据结构]
- 关于知识整理、积累与记忆
- 【OpenCV3】cv::compare()使用详解