📅  最后修改于: 2023-12-03 15:34:13.794000             🧑  作者: Mango
XML 是一种常用的数据格式,Python 中有多个库可以用于读取和处理 XML 数据。本文将介绍 Python 中两种常用的 XML 处理库:ElementTree 和 lxml。
Python 内置了一个名为 ElementTree 的库,用于解析和操作 XML 文件。
ElementTree 是 Python 的内置库,无需安装。
以下是使用 ElementTree 从本地文件读取 XML 内容的示例代码:
import xml.etree.ElementTree as ET
tree = ET.parse('file.xml')
root = tree.getroot()
for child in root:
print(child.tag, child.attrib)
以下是使用 ElementTree 从 XML 字符串读取 XML 内容的示例代码:
import xml.etree.ElementTree as ET
xml_string = '''
<root>
<child id="1">Child 1</child>
<child id="2">Child 2</child>
<child id="3">Child 3</child>
</root>
'''
root = ET.fromstring(xml_string)
for child in root:
print(child.tag, child.attrib)
lxml 是 Python 中功能强大的 XML 解析库,基于 libxml2 和 libxslt 库。它能够快速解析大型 XML 文件,并提供了方便的 API 用于操作和修改 XML 数据。
可以使用 pip 命令安装 lxml 库:
pip install lxml
以下是使用 lxml 从本地文件读取 XML 内容的示例代码:
from lxml import etree
tree = etree.parse('file.xml')
root = tree.getroot()
for child in root:
print(child.tag, child.attrib)
以下是使用 lxml 从 XML 字符串读取 XML 内容的示例代码:
from lxml import etree
xml_string = '''
<root>
<child id="1">Child 1</child>
<child id="2">Child 2</child>
<child id="3">Child 3</child>
</root>
'''
root = etree.fromstring(xml_string)
for child in root:
print(child.tag, child.attrib)
Python 中有多种库可以用于读取和处理 XML 数据。ElementTree 是 Python 的内置库,使用简单,但对大型 XML 文件的处理效率较低。lxml 则是 Python 中功能强大的 XML 解析库,能够快速解析大型 XML 文件,并提供了方便的 API 用于操作和修改 XML 数据。在实际开发过程中,应根据需求和性能要求选择合适的库进行 XML 数据的处理。