📜  python 读取 xml - Python (1)

📅  最后修改于: 2023-12-03 15:34:13.794000             🧑  作者: Mango

Python 读取 XML

XML 是一种常用的数据格式,Python 中有多个库可以用于读取和处理 XML 数据。本文将介绍 Python 中两种常用的 XML 处理库:ElementTree 和 lxml。

ElementTree

Python 内置了一个名为 ElementTree 的库,用于解析和操作 XML 文件。

安装

ElementTree 是 Python 的内置库,无需安装。

读取 XML 文件

以下是使用 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)
读取 XML 字符串

以下是使用 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

lxml 是 Python 中功能强大的 XML 解析库,基于 libxml2 和 libxslt 库。它能够快速解析大型 XML 文件,并提供了方便的 API 用于操作和修改 XML 数据。

安装

可以使用 pip 命令安装 lxml 库:

pip install lxml
读取 XML 文件

以下是使用 lxml 从本地文件读取 XML 内容的示例代码:

from lxml import etree

tree = etree.parse('file.xml')
root = tree.getroot()

for child in root:
    print(child.tag, child.attrib)
读取 XML 字符串

以下是使用 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 数据的处理。