Python中的xml.etree.ElementTree模块应用实例
发布时间:2023-12-26 15:00:11
xml.etree.ElementTree是Python标准库中用于操作XML文件的模块,提供了一种简单而灵活的方式来解析和创建XML文件。
下面是一个使用xml.etree.ElementTree模块的实例,假设有一个books.xml的XML文件,内容如下:
<books>
<book>
<title>Python编程入门</title>
<author>张三</author>
<price>49.99</price>
</book>
<book>
<title>Java编程入门</title>
<author>李四</author>
<price>59.99</price>
</book>
</books>
1. 解析XML文件
首先,我们可以使用xml.etree.ElementTree模块解析books.xml文件,获取XML文件的根节点,并遍历根节点的子节点,获取每本书的信息。
import xml.etree.ElementTree as ET
tree = ET.parse('books.xml') # 解析XML文件
root = tree.getroot() # 获取根节点
for book in root.findall('book'): # 遍历根节点的子节点
title = book.find('title').text # 获取书名
author = book.find('author').text # 获取作者
price = float(book.find('price').text) # 获取价格
print('书名:', title)
print('作者:', author)
print('价格:', price)
print('---------')
输出结果:
书名: Python编程入门 作者: 张三 价格: 49.99 --------- 书名: Java编程入门 作者: 李四 价格: 59.99 ---------
2. 创建XML文件
接下来,我们可以使用xml.etree.ElementTree模块创建一个新的XML文件,将几本书的信息保存到该文件中。
import xml.etree.ElementTree as ET
# 创建根节点
root = ET.Element('books')
# 创建子节点
book1 = ET.SubElement(root, 'book')
title1 = ET.SubElement(book1, 'title')
title1.text = 'Python编程入门'
author1 = ET.SubElement(book1, 'author')
author1.text = '张三'
price1 = ET.SubElement(book1, 'price')
price1.text = '49.99'
book2 = ET.SubElement(root, 'book')
title2 = ET.SubElement(book2, 'title')
title2.text = 'Java编程入门'
author2 = ET.SubElement(book2, 'author')
author2.text = '李四'
price2 = ET.SubElement(book2, 'price')
price2.text = '59.99'
# 创建XML文件
tree = ET.ElementTree(root)
tree.write('new_books.xml')
执行上述代码后,会在当前目录下生成一个名为new_books.xml的文件。打开该文件,可以看到新创建的XML文件内容如下:
<books>
<book>
<title>Python编程入门</title>
<author>张三</author>
<price>49.99</price>
</book>
<book>
<title>Java编程入门</title>
<author>李四</author>
<price>59.99</price>
</book>
</books>
可以看到,我们成功地使用xml.etree.ElementTree模块创建了一个包含几本书信息的XML文件。
总结:
通过上述实例,我们可以看到xml.etree.ElementTree模块提供了一种简单而灵活的方式来解析和创建XML文件。我们可以使用该模块提供的方法来获取XML文件的根节点,遍历节点和获取节点的属性值等,从而对XML文件进行读取和修改操作。同时,也可以使用该模块提供的方法来创建XML文件,将数据保存到XML文件中。
