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

yipeiwu_com7年前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的IDEL增加清屏功能实例

为idle增加一个清屏的扩展ClearWindow就可以了(在http://bugs.python.org/issue6143中可以看到这个扩展的说明)。 下面我说安装使用的方法。首先下...

Python JSON格式数据的提取和保存的实现

环境:python-3.6.5 JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了...

MAC中PyCharm设置python3解释器

MAC中PyCharm设置python3解释器

MAC上的PyCharm中默认的python解释器是python2的,windows下的没用过不是很清楚,所以特来记录下设置python3解释器的过程。 python3的查找与安装 如果...

numpy.linspace函数具体使用详解

numpy.linspace函数具体使用详解

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) 在指定的间隔内返回均匀间隔的数...

在Python中实现贪婪排名算法的教程

 在较早的一遍文章中,我曾经提到过我已经写了一个属于自己的排序算法,并且认为需要通过一些代码来重新回顾一下这个排序算法。 对于我所完成的工作,我核实并且保证微处理器的安全。对非...