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

yipeiwu_com6年前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 正则表达式 概述及常用字符

1.元字符: . 它匹配除了换行字符外的任何字符,在 alternate 模式(re.DOTALL)下它甚至可以匹配换行 ^ 匹配行首。除非设置 MULTILINE 标志,它只是匹配字符...

Python3安装Scrapy的方法步骤

Python3安装Scrapy的方法步骤

本文介绍了Python3安装Scrapy的方法步骤,分享给大家,具体如下: 运行平台:Windows Python版本:Python3.x IDE:Sublime text...

Python变量作用范围实例分析

本文实例讲述了Python变量作用范围。分享给大家供大家参考。具体如下: #coding=utf-8 #变量作用范围 global z #使用全局变量 z=1 #给全局变量赋值 x=...

VTK与Python实现机械臂三维模型可视化详解

VTK与Python实现机械臂三维模型可视化详解

三维可视化系统的建立依赖于三维图形平台, 如 OpenGL、VTK、OGRE、OSG等, 传统的方法多采用OpenGL进行底层编程,即对其特有的函数进行定量操作, 需要开发人员熟悉相关函...

TensorFlow实现随机训练和批量训练的方法

TensorFlow实现随机训练和批量训练的方法

TensorFlow更新模型变量。它能一次操作一个数据点,也可以一次操作大量数据。一个训练例子上的操作可能导致比较“古怪”的学习过程,但使用大批量的训练会造成计算成本昂贵。到底选用哪种训...