python xml解析之 xml.etree.ElementTree

import xml.etree.ElementTree as tree
import io

xml = ‘‘‘<?xml version="1.0"?>
<data>
    <country name="Liechtenstein">
        <rank updated="yes">2</rank>
        <year>2008</year>
        <gdppc>141100</gdppc>
        <neighbor name="Austria" direction="E"/>
        <neighbor name="Switzerland" direction="W"/>
    </country>
    <country name="Singapore">
        <rank updated="yes">5</rank>
        <year>2011</year>
        <gdppc>59900</gdppc>
        <neighbor name="Malaysia" direction="N"/>
    </country>
    <country name="Panama">
        <rank updated="yes">69</rank>
        <year>2011</year>
        <gdppc>13600</gdppc>
        <neighbor name="Costa Rica" direction="W"/>
        <neighbor name="Colombia" direction="E"/>
    </country>
</data>
‘‘‘
parse = tree.fromstring(xml) #type:tree.Element #根节点
for e in parse: #遍历
    print(e.tag) # 节点名称
    print(e.attrib.get(‘name‘))#节点属性
result = parse.findall(‘country‘) # 只能找到子节点 第一层
print(result) #[<Element ‘country‘ at 0x0000000001DDE7C8>, <Element ‘country‘ at 0x000000000291F908>, <Element ‘country‘ at 0x000000000291FA98>]

print([e for e in parse.iter(‘rank‘) if e.attrib.get(‘updated‘) == ‘yes‘]) #递归遍历所有

#父节点 parse 添加子节点
print(tree.SubElement(parse, ‘test‘, attrib={‘name‘: ‘ceshi‘})) #工厂方式添加子节点

print(tree.tostring(parse).decode(‘utf-8‘)) #输出xml文档

原文地址:https://www.cnblogs.com/alplf123/p/8526736.html

时间: 2024-08-06 10:40:57

python xml解析之 xml.etree.ElementTree的相关文章

Python XML No module named etree.ElementTree

在学习使用Python解析XML的过程中,使用官方文档https://docs.python.org/2/library/xml.etree.elementtree.html中的例子进行测试,代码如下: import xml.etree.ElementTree as ET tree = ET.parse('/home/huayuan/code/xml.py') root = tree.getroot() 试着运行,没想到竟然会报错: Traceback (most recent call las

XML解析与XML拼接

2015年了. 1.XML解析 这边是用的dom4j方式解析. 解析的XML如下: <?xml version="1.0" encoding="UTF-8"?> <DBSET> <R> <C N="TASKID">10001</C> <!-- TASKID --> <C N="TYPE">D</C><!-- 查询类型(D/U)

[iOS] XML解析和xml转plist文件(GDataXML)

iOS对于XML的解析有系统自带的SDK--NSXMLParser,鄙人愚拙,只会用GDataXML进行解析,这里仅介绍GData的使用.(以下图为例) 1.对于一个xml文件,先读取出来 NSData *xmlData = [[NSFileManager defaultManager]contentsAtPath:[NSString stringWithFormat:@"%@/%@",[[NSBundle mainBundle] resourcePath],@"test.x

【转】XML生成与解析(DOM、ElementTree)

xml.dom篇 DOM是Document Object Model的简称,XML 文档的高级树型表示.该模型并非只针对 Python,而是一种普通XML 模型.Python 的 DOM 包是基于 SAX 构建的,并且包括在 Python 2.0 的标准 XML 支持里. 一.xml.dom的简单介绍 1.主要方法: minidom.parse(filename):加载读取XML文件 doc.documentElement:获取XML文档对象 node.getAttribute(Attribut

XML解析

3.1 XML简单介绍 (1) XML:可扩展标记语言 a.语法 b.XML文档的三部分(声明.元素和属性) c.其它注意点(注意不能交叉包含.空行换行.XML文档只能有一个根元素等) (2) XML解析 a.XML解析的两种方式 001 SAX:从根元素开始,按顺序一个元素一个元素的往下解析,可用于解析大.小文件 002 DOM:一次性将整个XML文档加载到内存中,适合较小的文件 b.解析XML的工具 001 苹果原生NSXMLParser:使用SAX方式解析,使用简单 002 第三方框架 l

iOS -数据库网络之xml解析

XML文件有2种解析方式 1.基于文档(document) 2.基于事件(sax) 1.IOS中XML文件获取 首先要将XML导入工程中 在ViewController的按钮事件中,代码如下: //获取xml完整路径 NSString * path=[[NSBundle mainBundle] [email protected]"xml文件名称" ofType:@"xml"]; //读取文件到内存 NSData* data=[NSData dataWithConte

Java网络编程丶数据库编程丶XML解析技术。

Java网络编程 物理层. 数据链路层. 网络层. 传输层. 会话层. 表示层. 应用层. TCP/IP分层接口包括用于协作层分别完成以下的功能: 网络接口层. 网络互联层. 传输层. 应用层. 套接字: Socket.套接字.是一种抽象层. // 创建客户端Socket向服务器发起连接请求 Socket socket = new Socket("127.0.0.1", 30001); /* 利用已建立的socket创建输入输出流,处理与服务器端的连接 */ // 向服务器写入数据 B

IOS之XML解析

IOS之XML解析 1.XML格式 <?xml version="1.0" encoding="utf-8" ?> <root> <systemConfig> <CityName>北京</CityName> <CityCode>201</CityCode> <ParentCityCode> 0</ParentCityCode> <areaCode>

iOS开发之XML解析

iOS开发之XML解析 1.XML格式 <?xml version="1.0" encoding="utf-8" ?> 表示XML文件版本, 内部文本使用的编码 <root> 表示根节点 <CityName>北京</CityName>  一个结点, CityName是结点名, 北京结点值 <Item key="1" value="A"></Item>