Python操作XML文件详细介绍
XML是一种常用的标记语言,Python提供了多种处理XML文件的方式,本攻略将介绍使用Python操作XML文件的主要方法。
使用ElementTree解析XML文件
ElementTree是Python标准库中提供的XML解析库,它的使用非常方便。我们可以通过如下示例代码解析XML文件:
import xml.etree.ElementTree as ET
tree = ET.parse('example.xml')
root = tree.getroot()
# 遍历XML文件的所有子节点
for child in root:
print(child.tag, child.attrib)
# 读取XML节点的值
print(root.find('country').text)
# 修改XML节点的值
root.find('country').text = 'China'
# 添加新的XML子节点
new_node = ET.Element('city')
new_node.text = 'Beijing'
root.append(new_node)
# 将修改后的XML文件保存到磁盘中
tree.write('example.xml')
注解:
- 导入
xml.etree.ElementTree
模块 - 使用
ET.parse
读取XML文件并获取根节点 - 使用
for
循环遍历XML文件的所有子节点,输出节点名称和属性 - 使用
root.find
方法查找指定节点并读取节点的值 - 使用
root.find
方法查找指定节点并修改节点的值 - 使用
ET.Element
创建新的XML子节点并设置节点的值 - 使用
root.append
方法添加新的子节点到根节点下 - 最后使用
tree.write
方法将修改后的XML文件保存到磁盘中
使用lxml解析XML文件
lxml是Python中一种高性能的XML解析库,它基于libxml2和libxslt库,并提供了Python接口。相较于标准库中的ElementTree,lxml更加灵活且解析效率更高。我们可以通过如下示例代码解析XML文件:
from lxml import etree
tree = etree.parse('example.xml')
root = tree.getroot()
# 遍历XML文件的所有子节点
for child in root:
print(child.tag, child.attrib)
# 读取XML节点的值
print(root.find('country').text)
# 修改XML节点的值
root.find('country').text = 'China'
# 添加新的XML子节点
new_node = etree.Element('city')
new_node.text = 'Beijing'
root.append(new_node)
# 将修改后的XML文件保存到磁盘中
tree.write('example.xml', xml_declaration=True, encoding='utf-8')
注解:
- 导入
lxml.etree
模块 - 使用
etree.parse
读取XML文件并获取根节点 - 使用
for
循环遍历XML文件的所有子节点,输出节点名称和属性 - 使用
root.find
方法查找指定节点并读取节点的值 - 使用
root.find
方法查找指定节点并修改节点的值 - 使用
etree.Element
创建新的XML子节点并设置节点的值 - 使用
root.append
方法添加新的子节点到根节点下 - 最后使用
tree.write
方法将修改后的XML文件保存到磁盘中,其中xml_declaration=True
表示输出XML文件的声明头部,encoding='utf-8'
表示设置文件编码为UTF-8。
结语
本攻略介绍了Python操作XML文件的两种主要方法,包括使用ElementTree和lxml库解析XML文件、读取和修改XML节点的值、添加新的XML子节点,并将修改后的XML文件保存到磁盘中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python操作xml文件详细介绍 - Python技术站