python解析XML:之二 (ElementTree)
xml.etree.ElementTree 模块实现了解析、创建XML数据的简单有效的API ,ElementTree模块拥有两个类
ElementTree: 代表整个XML文档,视作tree;用于对整个XML文档的操作;
Element: 代表XML文档(tree)上的单个节点;用于对XML节点及子节点的操作;
ElementTree类的方法:
1) _setroot(element) #以element替代当前的root element, 参数element是element实例
2) getroot() #获取XML tree的根element
3) parse(source, parser = None) # 加载一个XML文件到element tree;
参数source是文件名或文件对象;parser默认为标准的XMLParser;返回root element
4) write(file, encoding = "us-ascii", xml_declaration = None, default_namespace = None, method = "xml", short_empty_elements = True) # 将element tree写入xml文件;参数file - 文件名或文件对象;method为("xml", "html", "text"之一),默认为“xml”
5) iter(tag = None) #创建并返回root element的tree iterator
6) find()/findall()/findtext()/iterfind #同Element同样的方法
7) getiterator(tag = None) #
例:Parse XML
import xml.etree.ElementTree as ET
tree = ET.parse(xml_file_name)
root = tree.getroot() #获取XML文件的root元素
或者:
root = ET.fromstring(country_data_as_string) # ?
获取子节点信息:
for child in root:
print (child.tag, child.attrib)
Element类
属性:
======
tag # 元素类型:element type
text # 元素起始tag与结尾tag之间的文本
attrib #字典,包含了element的属性
tail #element结尾tag和下一个起始tag之间的文本
方法:
======
1) clear()方法 #重置element,去掉所有subelements,清除所有属性,并设置text及tail属性为None
2) get(key, default = None) #获取element的属性 ,此属性命名为key?
3) items() #获取以列表形式返回element的(name, value)对;顺序随机
4) keys() #以列表形式返回element属性;顺序随机
5) set(key, value) #将key属性的元素的值设置为value
subelement的方法:
1) append(subelement) #添加一个subelement
2) extend(subelements) #通过列表对象追加0个或多个subelements
3) find(match, namespaces = None) # 查询第一个跟match匹配的subelement (以tag或者path)
4) findall(match, namespaces = None) #查询所有匹配的subelements
5) getchildren() # list(elem)
6) getiterator(tag = None) #Element.iter()
7) insert(index, subelement) #在指定位置插入subelement
8) iter(tag = None): 以当前element为root,创建一个tree iterator
9) iterfind(match, namespaces = None) #查询所有匹配的subelements
10) itertext() #创建一个text iteratror
11) makeelement(tag, attrib) #创建与当前element类型相同的element 对象;最好用SubElement()工厂方法替代此方法
12) remove(subelement) #去掉element的subelement;跟find*方法不同的是,此方法基于实例的identity,而不是tag或内容
转载于:https://www.cnblogs.com/tanql/p/4360164.html
python解析XML:之二 (ElementTree)相关推荐
- 用Python解析XML的几种常见方法的介绍
这篇文章主要介绍了用Python解析XML的几种常见方法,包括快速的使用ElementTree模块等方法的实例介绍,需要的朋友可以参考下 一.简介 XML(eXtensible Markup Lang ...
- python 解析xml
在工作中很多时候都要用到xml,使用这个时候难免会设计到解析他,然后就研究了一下python解析xml问题,看了很多东西,python有很多解析xml的包,但是也折腾我好一段时间,最后选择了这个方法. ...
- python解析xml+得到pascal voc xml格式用于目标检测+美化xml
1.python解析xml img_path='./data/001.tif'xml_path='./xml/001.xml'img=cv2.imread(img_path)# cv2.imshow( ...
- python解析xml文件最好选用的模块_用Python解析XML文件
本文翻译自:https://developer.yahoo.com/python/python-xml.html 使用Python解析XML文件 许多YDN APIs提供了JSON格式的数据输出,JS ...
- python解析xml生成代码_python解析xml模块封装代码
有如下的xml文件: 复制代码 代码如下: 1 2 下面介绍python解析xml文件的几种方法,使用python模块实现. 方式1,python模块实现自动遍历所有节点: 复制代码 代码如下: #! ...
- python解析dom,关于Python解析xml dom的简单应用
关于Python解析xml dom的简单应用 from xml.dom import minidom try: xmlfile = open("path.xml", "a ...
- python解析xml文件elementtree_Python中使用ElementTree解析XML示例
[XML基本概念介绍] XML 指可扩展标记语言(eXtensible Markup Language). XML 被设计用来传输和存储数据. 概念一: 复制代码 代码如下: # foo元素的起始标签 ...
- python解析xml文件elementtree_Python XML解析之ElementTree
参考网址: 菜鸟教程提供了基本的XML编程接口DOM.SAX,以及轻量级ElementTree的简易概念说明和一些示例.DOM是一种跨语言的XML解析机制,通过将整个XML在内存中解析为一个树来操作, ...
- python解析xml文件elementtree_Python 用ElementTree读取XML文件
python有三种方法解析XML,SAX,DOM,以及ElementTree ###1.SAX (simple API for XML ) pyhton 标准库包含SAX解析器,SAX是一种典型的极为 ...
- python解析xml文件elementtree_在python中使用ElementTree解析xml文件
ElementTree是python自带的处理xml格式文件的模块,位于libxmletreeElementTree.py.这个模块有两个基本概念:Element和ElementTree. 表示整个树 ...
最新文章
- Linux shell 学习笔记(9)— 循环语句(for、while)以及更改字段分隔符
- 英特尔宣布推出“Nervana”神经网络处理器
- IPC 和 RPC (呵呵,我感觉我应该要钻研到这个深度啦)
- Linux基础命令---get获取ftp文件
- “RuntimeWarning: overflow encountered in ubyte_scalars像素加减运算溢出异常”原因以及解决办法
- 机加工程序工时程序_团宠来袭 | 针对多品种小批量的机加工柔性生产解决方案...
- java第一天上班需要安装那些_明天第一天上班,应该带什么包啊
- ICCV2021 微软CMU提出TACo:同时用三个损失函数进行多模态对齐!性能SOTA!
- “忘恩负义”的浪胃仙,是个真狠人!
- IE环境下判断IE版本的语句...[if lte IE 6]……[endif][if lte IE 7]……[endif]
- 首次在matable中安装libsvm碰到的问题和解决方法---- mxGetIr 已过时 错误
- android平板管理工具,安卓平板如何提升使用效率,这17款软件你应该知道
- typedef常见用法
- verilog符号 与或非 异或_与()、非(~)、或(|)、异或(^)
- 2055041-21-7,Acid-PEG4-S-PEG4-acid在EDC和HATU等活化剂存在下,羧酸基团可与伯胺反应
- OI游记——一个不配称为OIer的失败选手的自白
- 21. 查询表sc——查询平均成绩大于等于90分的学生学号和平均成绩
- 莫比乌斯反演入门题目(详细)
- Software Architecture Pattern(Mark Richards)笔记
- 区块链金融中的python应用--LSM定价
热门文章
- Centos7 Kubernetes(k8s) 开发服务器(单服务器)部署 elasticsearch 搜索引擎
- Pinyin4j 汉字转拼音使用教程
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-2.快速搭建SpringBoot项目,采用IDEA...
- 阶段3 3.SpringMVC·_04.SpringMVC返回值类型及响应数据类型_8 响应json数据之响应json格式数据...
- 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_5_Stream流中的常用方法_map...
- Java NIO框架 Mina、Netty、Grizzly
- 玉伯的一道课后题题解(关于 IEEE 754 双精度浮点型精度损失)
- Yii2如何用migrate快速建表
- JS调用asp.net后台方法:PageMethods
- 你还不懂云计算吗?资深互联网老大详细讲解云计算的应用