Python提供了多种XML解析和处理的库,其中比较常用的有以下几种:
ElementTree:Python标准库中的XML解析库,使用简单,速度较快,支持XPath查询,可以创建、修改和输出XML文档。
lxml:基于C语言库libxml2和libxslt,速度快,支持XPath和XSLT,可以创建、修改和输出XML文档。
xml.etree.ElementTree:Python标准库中的另一种XML解析库,与ElementTree类似,但是功能较少。
xml.dom:Python标准库中的DOM解析库,支持创建、修改和输出XML文档,但是速度较慢,内存占用较高。
下面是一个使用ElementTree库解析XML文件的示例代码:
import xml.etree.ElementTree as ET
tree = ET.parse('example.xml')
root = tree.getroot()
for child in root:
print(child.tag, child.attrib)
print('Title:', root.find('title').text)
for elem in root.findall('.//rank'):
print(elem.text)
for elem in root.iter('year'):
new_year = int(elem.text) + 1
elem.text = str(new_year)
elem.set('updated', 'yes')
tree.write('example.xml')
这段代码首先使用ET.parse()方法解析XML文件,然后使用getroot()方法获取根元素。接着,使用for循环遍历XML文档,使用find()方法访问XML元素,使用XPath查询,修改XML元素,最后输出修改后的XML文档