详细介绍XML阅读器的示例代码
1. 解析XML文件
使用Python内置的xml.etree.ElementTree模块,可以轻松解析XML文件。下面的示例代码将演示如何使用该模块解析XML文件:
import xml.etree.ElementTree as ET
# 打开XML文件
tree = ET.parse('example.xml')
root = tree.getroot()
# 遍历XML文件树
for child in root:
print(child.tag, child.attrib)
for subchild in child:
print(subchild.tag, subchild.text)
上述代码首先使用ET库中的parse()函数打开XML文件并获取文件的根元素root。然后遍历XML树,打印每个元素的标签和属性。遍历树时,可以使用Element的tag属性访问标签,使用attrib属性访问属性。
2. 创建XML文件
使用Python内置的xml.etree.ElementTree模块,可以轻松创建XML文件。下面的示例代码将演示如何使用该模块创建XML文件:
import xml.etree.ElementTree as ET
# 创建根元素
root = ET.Element('catalog')
# 创建子元素
book1 = ET.SubElement(root, 'book')
book2 = ET.SubElement(root, 'book')
# book1 元素的属性和子元素
book1.set('id', '001')
title = ET.SubElement(book1, 'title')
title.text = 'Harry Potter'
author = ET.SubElement(book1, 'author')
author.text = 'J.K. Rowling'
# book2 元素的属性和子元素
book2.set('id', '002')
title = ET.SubElement(book2, 'title')
title.text = 'The Lord of the Rings'
author = ET.SubElement(book2, 'author')
author.text = 'J.R.R. Tolkien'
# 创建XML文件
tree = ET.ElementTree(root)
tree.write('catalog.xml')
上述代码首先使用ET库中的Element()函数创建根元素root。然后使用SubElement()函数创建book1和book2元素,并分别设置它们的id属性。使用SubElement()函数创建book1和book2的子元素title和author,并设置它们的文本值。最后,使用ElementTree()函数创建XML树,使用write()函数将XML写入文件。
3. 修改XML文件
使用Python内置的xml.etree.ElementTree模块,可以轻松修改XML文件。下面的示例代码将演示如何使用该模块修改XML文件:
import xml.etree.ElementTree as ET
# 打开XML文件
tree = ET.parse('catalog.xml')
root = tree.getroot()
# 遍历books子元素,修改其属性和子元素
for book in root.findall("./book[@id='001']"):
book.find('title').text = 'Harry Potter and the Prisoner of Azkaban'
book.find('author').text = 'J.K. Rowling'
# 将修改后的XML写入文件
tree.write('catalog.xml')
上述代码首先使用parse()函数打开XML文件,并获取根元素root。然后遍历所有id为001的book元素,并修改它的title和author子元素的文本值。最后使用write()函数将修改后的XML写入文件。
4. 删除XML节点
使用Python内置的xml.etree.ElementTree模块,可以轻松删除XML节点。下面的示例代码将演示如何使用该模块删除XML节点:
import xml.etree.ElementTree as ET
# 打开XML文件
tree = ET.parse('catalog.xml')
root = tree.getroot()
# 遍历books子元素,删除id为002的book元素
for book in root.findall("./book[@id='002']"):
root.remove(book)
# 将修改后的XML写入文件
tree.write('catalog.xml')
上述代码首先使用parse()函数打开XML文件,并获取根元素root。然后遍历所有id为002的book元素,并使用root的remove()方法删除它们。最后使用write()函数将修改后的XML写入文件。