【python】xml Elementtree 学习一
来源:互联网 发布:重置sql密码用户名 编辑:程序博客网 时间:2024/05/22 13:14
xml是可扩展标记语言,一种用于标记电子文件使其具有结构性的标记语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化程序。
可扩展标记语言用来传输和存储数据,焦点是数据的内容。超文本标记语言被设计来显示数据,焦点是数据的外观。
xml和json都是一种数据交换格式,xml由三个部分组成:
1.文档类型定义(Document Type Definition,DTD),就是xml的布局语言,规定文档的逻辑结构;
2.可扩展的样式语言(Extensible Style Language,XSl),是xml的样式表语言;
3.可扩展链接语言(Extensible Link language,XLL)。
python解析xml的三种方式:SAX,DOM,ElementTree。
1)SAX(simple API for XML)
python标准库解析SAX解析器,SAX用事件驱动模型,通过在解析xml的过程中触发一个个的事件并调用用户定义的回调函数来处理xml文件。
2)DOM(Document Object Model)
将xml数据在内存中解析成一个树,通过操作树来操作xml。
3)Elementtree(元素树)
ElementTree像轻量级的DOM。运行速度快,消耗内存少。
一、ElementTree基本用法
test.xml文件的内容:
</pre><?xml version="1.0" encoding="ISO-8859-1"?><note name='ss'><to>George</to><from>John</from><from>John2</from><heading>Reminder</heading><body no="2009081097"> <name>Hongten</name> <gender>M</gender> <age>20</age> <score subject="math">97</score> <score subject="chinese">90</score></body></note><pre name="code" class="html">
import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
获取根节点、根节点的属性:
root = tree.getroot()print root.tag # noteprint root.attrib # {'name': 'ss'}
获取子节点、子节点的属性:
for child in root: print child.tag,child.attrib
to {}from {}from {}heading {}body {'no': '2009081097'}获取一个子节点,和子节点的内容:
print root.find('to').text # George在节点中找到需要的节点:
for student in root.findall('body'): no = student.get('no') # '2009081097' name = student.find('name').text # 'Hongten'
for student in root.findall('body'): attrib = student.find('score').attrib # {'subject': 'math'} text = student.find('score').text # 97
0 0
- 【python】xml Elementtree 学习一
- Python模块学习之xml.etree.ElementTree
- Python学习-ElementTree 方法读取XML
- python xml解析ElementTree
- python解析xml ElementTree
- python学习之 -- xml.etree.ElementTree解析xml
- python学习之os.path模块&&elementtree处理xml文件
- Python使用ElementTree解析XML
- python 使用ElementTree解析XML
- python操作XML文件------elementtree
- Python 使用ElementTree解析XML
- Python中用ElementTree解析XML
- python xml.etree.ElementTree解析
- Python xml.etree.ElementTree 用法
- Python中用ElementTree解析XML
- 使用 Python ElementTree 生成 xml
- Python使用ElementTree处理XML
- python xml.etree ElementTree解析 编辑 xml
- 《leetCode》:N-Queens(奇葩的测试平台,居然不能AC)
- Objective-C运行时定义的几种重要的类型
- Objective-c:内存管理
- LightOJ 1007 Mathematically Hard
- 欢迎使用CSDN-markdown编辑器
- 【python】xml Elementtree 学习一
- [js学习笔记]城市选择控件(双下拉框选择不同城市列表)
- LayoutInflater
- 将maven项目自动部署至私有nexus maven仓库
- 【南大软院大神养成计划:第一天】种下21天,收获不一样的自己——前端养成启程!
- lightoj1210Efficient Traffic System
- iOS宏定义
- iOS图文混排
- gmock为什么只能支持虚函数(其实也不准确)