是的,xml.etree.ElementTree 是 Python 标准库中最常用、最推荐的解析 XML 的模块,它在处理中等规模 XML 文件时非常高效,且无需安装第三方库。

核心特点:
- 轻量级,内置于 Python 标准库
- 支持解析和创建 XML 文档
- 提供两种解析方式:DOM 式和流式
基本使用示例:
import xml.etree.ElementTree as ET
# 解析 XML 字符串或文件
xml_data = '''
<bookstore>
<book category="fiction">
<title>Python入门</title>
<author>张三</author>
<price>39.90</price>
</book>
<book category="non-fiction">
<title>数据结构</title>
<author>李四</author>
<price>45.00</price>
</book>
</bookstore>
'''
# 方法1:解析字符串
root = ET.fromstring(xml_data)
# 方法2:解析文件(推荐)
# tree = ET.parse('books.xml')
# root = tree.getroot()
# 遍历所有book元素
for book in root.findall('book'):= book.find('title').text
author = book.find('author').text
price = book.find('price').text
category = book.get('category')
print(f"《{title}》 - {author} - ¥{price} - {category}")
其他常见操作:
# 查找特定元素s = root.findall('.//title') # XPath 支持
first_book = root.find('book')
last_book = root.findall('book')[-1]
# 修改XML
for price in root.iter('price'):
price.text = str(float(price.text) * 0.9) # 打9折
# 保存修改
# tree.write('books_updated.xml', encoding='utf-8', xml_declaration=True)
何时选择其他库:
- lxml:当需要更强大的 XPath 支持、XSLT 转换或处理超大文件时(非标准库,需安装)
- minidom:当需要完整的 DOM 操作风格时(标准库,但比 ElementTree 笨重)
- SAX:当处理超大文件且内存敏感时(流式解析,标准库)
对于 90% 的 XML 解析任务,ElementTree 都是最佳选择。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播