python xml解析实例详解
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
以上就是python xml解析实例详解 感谢阅读,希望能帮助到大家,更多相关文章请关注PHP中文网(www.php.cn)!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

在Web开发领域中,数据格式之一的XML和JSON被广泛应用,而Gin框架则是一款轻量级的Go语言Web框架,它简洁易用且具有高效的性能。本文将介绍如何使用Gin框架实现XML和JSON数据解析功能。Gin框架概述Gin框架是一款基于Go语言的Web框架,它可用于构建高效和可扩展的Web应用程序。Gin框架的设计思想是简洁易用,它提供了多种中间件和插件,使开

随着Java在互联网领域中的应用越来越广泛,很多开发者可能会在使用XML进行数据解析的过程中遇到“XML解析错误”的问题。XML解析错误是指在使用Java解析XML数据时,由于数据格式不正确、标签未闭合或者其他原因导致程序无法正常解析数据,从而引发错误和异常。那么,在面对XML解析错误时,我们应该如何解决和避免呢?本文将对这一问题进行详细说明。一、XML解析

XML是一种常用的数据交换格式,在Java开发中,经常需要解析大规模的XML文件。然而,由于XML文件往往包含大量的节点和元素,传统的XML解析方式容易导致内存占用过高的问题。本文将介绍一些解决XML解析内存占用过高问题的方法。使用SAX解析器SAX(SimpleAPIforXML)是一种基于事件驱动的XML解析方式。相比于DOM(DocumentO

在开发Web应用程序时,XML是一种非常重要的数据格式,它可以用于数据交换和信息共享等场景。在PHP中,我们可以使用内置的函数和第三方库来解析和操作XML。下面我们将讨论如何使用PHP解析XML,并获取其中节点的内容。解析XML文件首先,我们需要解析XML文件,PHP提供了两种主要的方法来解析XML:1.1.使用SimpleXMLSimpleXML是PHP内

PHP8.1更新:增强的XML解析功能随着互联网的快速发展,XML(可扩展标记语言)在数据交换和信息传递中扮演了重要的角色。作为一种通用的数据格式,XML经常被用于在不同应用程序之间传递和存储数据。为了提供更好的XML解析能力,PHP8.1在XML解析功能上进行了增强,为开发者提供了更多便利。在PHP8.1中,一个重要的改进是引入了libxml_disabl

解决JavaXML解析异常(XMLParsingException)的解决方案简介:在处理XML文件时,我们常常会遇到XML解析异常(XMLParsingException),这是由于XML文件格式错误或者XML解析器配置不正确等原因导致的。本文将介绍一些常见的XML解析异常以及解决方案,帮助开发者更好地应对这些问题。一、XML解析异常的原因在解析XML文

PHP是一种广泛使用的编程语言,它支持许多不同的文件格式,包括XML。在处理XML文件时,可能会出现解析错误。本文将介绍如何在PHP中处理XML解析错误,并提供一些具体的代码示例。检查XML文件格式在处理XML文件之前,必须确保XML文件的格式正确。XML文件必须是严格的格式,否则解析器将无法处理该文件。例如,XML文件必须包含根元素,并使用正确的命名空间、

Java开发中如何解决XML解析占用过多堆内存问题引言:随着信息和数据的爆炸式增长,XML(可扩展标记语言)在企业应用开发中的重要性不断增加。然而,XML解析过程中可能会遇到占用过多堆内存的问题,尤其是在处理大型XML文件时。本文将介绍一些解决这个问题的方法和技巧。一、了解XML解析过程在深入解决XML解析占用过多堆内存问题之前,我们先了解一下XML解析的基
