📜  lxml 读取 xml (1)

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

使用lxml读取XML

简介

lxml是一个Python库,它能够处理XML和HTML数据,提供了非常快速和简化的API,它是在libxml2和libxslt的基础上构建的,因此它具有高效,稳定,可靠的特性。使用lxml处理XML数据非常方便,使得程序员可以专注于业务逻辑而不是样板代码。

安装

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

pip install lxml
读取XML

在lxml库中,我们可以使用XPath或CSS选择器来查找和提取XML或HTML数据。在这里,我们将使用XPath来读取XML文件中节点的名称和值。

from lxml import etree

# 读取XML文件
tree = etree.parse("example.xml")

# 获取根节点
root = tree.getroot()

# 遍历XML文档并获取节点的值
for element in root.iter():
    print("节点名称:", element.tag, "节点值:", element.text)

以上代码使用lxml库读取example.xml文件,并遍历XML文档中的所有节点,输出节点名称和值。

修改XML

使用lxml库也可以轻松地修改XML数据。在以下示例中,我们将创建一个新的XML文件,并向其中添加一些元素。

from lxml import etree

# 创建根元素
root = etree.Element("学生")

# 创建字节点
child1 = etree.Element("学号")
child1.text = "20180001"
root.append(child1)

child2 = etree.Element("姓名")
child2.text = "张三"
root.append(child2)

child3 = etree.Element("年龄")
child3.text = "20"
root.append(child3)

# 创建XML文件
tree = etree.ElementTree(root)
tree.write("student.xml", pretty_print=True, xml_declaration=True, encoding='utf-8')

print("XML文件创建完成!")

以上代码使用lxml创建了一个名为“学生”的根元素,并创建了一些子元素(学号、姓名和年龄),然后将其写入名为student.xml的文件中。

总结

lxml是一个强大的Python库,它提供了处理XML和HTML数据的API。在本文中,我们了解了如何使用lxml读取XML文件中的数据并修改XML数据。lxml非常强大且易于使用,适合于处理大型XML数据。