python xml快速解析_在Python中使用Expat进行快速XML解析

Python允许通过其内置模块expat读取和处理XML数据。它是一个非验证XML解析器。它创建一个XML解析器对象,并将其对象的属性捕获到各种处理程序函数中。在下面的示例中,我们将看到各种处理程序函数如何帮助我们读取XML文件以及将属性值作为输出数据。该生成的数据可用于处理。

示例import xml.parsers.expat

#捕获第一个元素

def first_element(tag, attrs):

print ('first element:', tag, attrs)

#捕获最后一个元素

def last_element(tag):

print ('last element:', tag)

#捕获字符数据

def character_value(value):

print ('Character value:', repr(value))

parser_expat = xml.parsers.expat.ParserCreate()

parser_expat.StartElementHandler = first_element

parser_expat.EndElementHandler = last_element

parser_expat.CharacterDataHandler = character_value

parser_expat.Parse(""" <?xml  version="1.0"?>

 Strive for progress, not perfection

 There are no shortcuts to any place worth going

""", 1)

输出结果

运行上面的代码给我们以下结果-first element: parent {'student_rollno': '15'}

Character value: '\n'

first element: child1 {'Student_name': 'Krishna'}

Character value: 'Strive for progress, not perfection'

last element: child1

Character value: '\n'

first element: child2 {'student_name': 'vamsi'}

Character value: ' There are no shortcuts to any place worth going'

last element: child2

Character value: '\n'

last element: parent

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值