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