c语言编程笔录

您现在的位置是:首页 > 编程 > 编程经验

编程经验

详细介绍XML阅读器的示例代码

林玟书 2023-09-12编程经验
1.解析XML文件使用Python内置的xml.etree.ElementTree模块,可以轻松解析XML文件。下面的示例代码将演示如何使用该模块解析XML文件:importx

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写入文件。

文章评论