返回顶部
首页 > 资讯 > 后端开发 > Python >python xml解析实例详解
  • 421
分享到

python xml解析实例详解

详解实例python 2022-06-04 18:06:43 421人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

python xml解析 first.xml <info> <person > <id>1</id> <name>fsy</

python xml解析

first.xml


<info> 
<person > 
<id>1</id> 
<name>fsy</name> 
<age >24</age> 
</person> 
<person> 
<id>2</id> 
<name>jianjian</name> 
<age>24</age> 
</person> 
<count id ='1'>1000</count> 
</info> 

from xml.etree import ElementTree as etree

读入


def read_xml(file): 
# parse()函数会返回一个能代表整篇文档的对象。这不是根元素。要获得根元素的引用可以调用getroot()方法。 
tree = etree.parse(file) 
root = tree.getroot() 
return root 

得到信息


def print_node(node): 
'''''打印结点基本信息''' 
print("node.tag:%s" % node.tag) 
print("node.attrib:%s"%node.attrib) 
print( "node.text:%s" % node.text) 

搜索:


find_all 
>>> root = read_xml ('first.xml')   
>>> res = root.findall("person") 
[<Element 'person' at 0x00000000033388B8>, <Element 'person' at 0x0000000003413D68>] 
 
注意:findall只查询直接的子节点 
>>> r1 = root.findall("id") 
>>> r1 
[] 
>>> r =tree.findall(".//id") 
>>> for e in r: 
  print( e,e.text) 
 
 
<Element 'id' at 0x00000000034279F8> 1 
<Element 'id' at 0x0000000003427B38> 2 

find:




#find()方法用来返回第一个匹配到的元素。当我们认为只会有一个匹配,或者有多个匹配但我们只关心第一个的时候,这个方法是很有用的。 
>>> res[0].find("id") 
<Element 'id' at 0x0000000003413CC8> 
>>> print_node(res[0].find("id")) 
node.tag:id 
node.attrib:{} 
node.text:1 

find查找失败:

使用find要注意在布尔上下文中,如果ElementTree元素对象不包含子元素,其值则会被认为是False(即如果len(element)等于0)。这就意味着if element.find('...')并非在测试是否find()方法找到了匹配项;这条语句是在测试匹配到的元素是否包含子元素。想要测试find()方法是否返回了一个元素,则需使用if element.find('...') is not None。


>>> bk = res[0].find("no") 
>>> bk 
>>> type(bk) 
<class 'NoneType'> 
>>> res[0].find("id") 
<Element 'id' at 0x0000000003413CC8> 
>>> if res[0].find("id"): 
    print("find") 
  else: 
    print("not find") 
not find 
>>> if res[0].find("id") is not None: 
    print("find") 
  else: 
    print("not find") 
find 


感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

--结束END--

本文标题: python xml解析实例详解

本文链接: https://lsjlt.com/news/14061.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python xml解析实例详解
    python xml解析 first.xml <info> <person > <id>1</id> <name>fsy</...
    99+
    2022-06-04
    详解 实例 python
  • Python解析XML实例分享
    本篇内容主要讲解“Python解析XML实例分享”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python解析XML实例分享”吧!Python 对 XML 的解析常见的 XML 编程接口有 DO...
    99+
    2023-06-02
  • Android提高之XML解析与生成实例详解
    本文实例讲述了使用SAX来解析XML。通常来说在Android里面可以使用SAX和DOM,DOM需要把整个XML文件读入内存再解析,比较消耗内存,而SAX是基于事件驱动的处理方...
    99+
    2022-06-06
    xml解析 XML Android
  • java解析XML详解
    目录XML的主要用途对比HTML关于XML文件的解析?JDK自带的一套解析总结XML的主要用途 --数据存储和数据描述 --是一个优良的配置文件 --相当于...
    99+
    2024-04-02
  • python读写xml文件实例详解嘛
    目录xml文件:country.xmlxml文件解读读取文件:增加新节点及修改属性值和文本总结xml文件:country.xml <data> <country ...
    99+
    2024-04-02
  • Python 解析XML
    Python中对两种解析方式的解释: The Python standard library provides a minimal but useful set of interfaces to work with XML. The t...
    99+
    2023-01-31
    Python XML
  • Python XML解析
    Python XML解析----http://www.w3cschool.cn/python/python-xml.htmlPython中使用ElementTree对XML文件进行解析----http://www.jianshu.com/p...
    99+
    2023-01-31
    Python XML
  • Java XML编程实例解析
    笔者通过一个简单的XML文件读写来作简要分析。可以在任何文本编辑器中先建立如下结构的XML文件,类似于HTML结构,但XML语义比较严格,起始标记必须配对,比如"〈学生花名册〉"与"〈/学生花名册〉"对应,空格多少可不必在意,但一般都以缩格...
    99+
    2023-06-03
  • Java解析XML(4种方式)案例详解
    目录1.DOM方式2.SAX方式3.JDOM方式4.DOM4J方式总结 xml文件 <?xml version="1.0" encoding="utf-8" ...
    99+
    2024-04-02
  • Java dom4j生成与解析XML案例详解
    一)dom4j介绍 使用方式:在pom.xml中导入dom4j对应的jar <dependency> <groupId>dom4j</gro...
    99+
    2024-04-02
  • Java解析XML(4种方式)案例详解
    在Java中,有多种方式可以解析XML文件。下面是四种常用的方式:1. DOM(Document Object Model)方式:D...
    99+
    2023-08-11
    java
  • python xml.etree.ElementTree遍历xml所有节点实例详解
    python xml.etree.ElementTree遍历xml所有节点 XML文件内容: <students> <student name='刘备' sex='男' age...
    99+
    2022-06-04
    遍历 节点 详解
  • Python 基于xml.etree.ElementTree实现XML对比示例详解
    目录测试环境代码实现测试运行运行结果测试环境 Python 3.6 Win10 代码实现 #!/usr/bin/env python 3.4.0 #-*- encoding:utf-...
    99+
    2022-12-14
    Python 实现XML对比 Python 基于xml.etree.ElementTree
  • Python XML解析之DOM
    DOM说明: DOM:Document Object Model API DOM是一种跨语言的XML解析机制,DOM把整个XML文件或字符串在内存中解析为树型结构方便访问。 https://docs.python.org/2/librar...
    99+
    2023-01-30
    Python XML DOM
  • Python XML解析之Element
    参考网址: http://www.runoob.com/python/python-xml.html https://docs.python.org/2/library/xml.etree.elementtree.html 菜鸟教程提供了...
    99+
    2023-01-30
    Python XML Element
  • Python xml解析记录
    Python的xml解析方式自带的有3种,xml.dom.*、xml.sax.*以及xml.etree.ElementTree,相对来说,xml.etree.ElementTree最快捷方便。 因为自己只使用了xml.etree.Elem...
    99+
    2023-01-31
    Python xml
  • 实例解析Android中使用Pull解析器解析XML的方法
    1.Pull简介 Pull解析器是Android系统内置的的,Pull解析器与SAX解析器类似,他提供了类似的事件,如开始元素和介绍元素的事件,使用parser.next()可...
    99+
    2022-06-06
    解析xml XML 方法 Android
  • 详细解读Python中解析XML数据的方法
    Python可以使用 xml.etree.ElementTree 模块从简单的XML文档中提取数据。 为了演示,假设你想解析Planet Python上的RSS源。下面是相应的代码: from urll...
    99+
    2022-06-04
    方法 数据 详细
  • Python中如何解析XML
    Python中如何解析XML,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。什么是XMLXML是可扩展标记语言(Extensible Markup Languag...
    99+
    2023-06-17
  • Python中怎么解析XML
    本篇文章给大家分享的是有关Python中怎么解析XML,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Python解析XML代码示例:< text &g...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作