Python构建XML树结构的方法示例

yipeiwu_com5年前Python基础

本文实例讲述了Python构建XML树结构的方法。分享给大家供大家参考,具体如下:

1.构建XML元素

#encoding=utf-8
from xml.etree import ElementTree as ET
import sys
root=ET.Element('color')  #用Element类构建标签
root.text=('black')     #设置元素内容
tree=ET.ElementTree(root)  #创建数对象,参数为根节点对象
tree.write(sys.stdout)   #输出在标准输出中,也可写在文件中

输出结果:

<color>black</color>

2.构建完整XML树结构

#encoding=utf-8
from xml.etree import ElementTree as ET
import sys
root=ET.Element('goods')
name_con=['yhb','lwy']
size_con=['175','170']
for i in range(2):
#  skirt=ET.SubElement(root,'skirt')
#  skirt.attrib['index']=('%s' %i)  #具有属性的元素
  skirt=ET.SubElement(root,'skirt',index=('%s' %i)) #相当于上面两句
  name=ET.SubElement(skirt,'name') #子元素
  name.text=name_con[i]       #节点内容
  size=ET.SubElement(skirt,'size')
  size.text=size_con[i]
  tree=ET.ElementTree(root)
ET.dump(tree)  #打印树结构

输出结果:

<goods><skirt index="0"><name>yhb</name><size>175</size></skirt><skirt index="1"><name>lwy</name><size>170</size></skirt></goods>

3.XML规范中预定的字符实体

所谓字符实体就是XML文档中的特殊字符,如元素内容中有“<”时不能直接输入,因为“<”

字符实体 符号
< <
> >
& &
'
"

关于转义字符可参考本站 HTML/XML转义字符对照表http://tools.jb51.net/table/html_escape

PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

在线格式化XML/在线压缩XML
http://tools.jb51.net/code/xmlformat

XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress

XML代码在线格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python操作xml数据技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python模拟百度登录实例详解

最近公司产品和百度贴吧合作搞活动,为了增加人气,打算做个自动签到的小程序。这个是测试登录的代码,写的比较随意,仅实现了登录并读取关注贴吧列表,下边的就比较简单。 百度登录还是有点麻烦的,...

详解python分布式进程

在Thread和Process中,应当优选Process,因为Process更稳定,而且,Process可以分布到多台机器上,而Thread最多只能分布到同一台机器的多个CPU上。 Py...

opencv之为图像添加边界的方法示例

opencv之为图像添加边界的方法示例

我们经常会有对图像边缘做扩展的需求.比如 希望卷积后得到的矩阵大小不变希望改变图像大小,但是不改变宽高比opencv实现 opencv中使用copyMakeBorder()来完成这一功能...

深入理解Python中的super()方法

前言 python的类分别有新式类和经典类,都支持多继承。在类的继承中,如果你想要重写父类的方法而不是覆盖的父类方法,这个时候我们可以使用super()方法来实现 python语言与C+...

在python中利用numpy求解多项式以及多项式拟合的方法

构建一个二阶多项式:x^2 - 4x + 3 多项式求解 >>> p = np.poly1d([1,-4,3]) #二阶多项式系数 >>> p...