下面是关于“Python使用minidom读写xml的方法”的详细讲解。
简介
XML是一种常见的数据交换格式,在Python中使用minidom模块可以很方便地处理XML文件。minidom模块是Python自带的模块,无需安装额外的依赖库,因此使用起来很方便。
读取XML文件
要读取XML文件,需要使用minidom模块中的parse函数,将XML文件解析为一个DOM对象,然后可以使用DOM对象提供的方法获取XML文件中的数据。
以下是一个读取XML文件的示例代码:
from xml.dom import minidom
# 解析XML文件为DOM对象
dom = minidom.parse('example.xml')
# 获取XML文件中的root节点
root = dom.documentElement
# 获取节点名为person的节点
persons = root.getElementsByTagName('person')
# 遍历person节点,获取节点中的name和age属性值
for person in persons:
name = person.getAttribute('name')
age = person.getAttribute('age')
print('name: %s, age: %s' % (name, age))
在这个示例代码中,使用minidom模块的parse函数将example.xml文件解析为一个DOM对象,然后获取根节点(root),接着使用getElementsByTagName函数获取节点名为person的节点,并对节点进行遍历,获取name和age属性值。
写入XML文件
要写入XML文件,首先需要创建一个DOM对象,然后创建要写入的XML节点,最后将节点添加到DOM对象中,并将DOM对象写入文件中。
以下是一个写入XML文件的示例代码:
from xml.dom import minidom
# 创建XML文档对象
dom = minidom.Document()
# 创建根节点
root = dom.createElement('person_list')
dom.appendChild(root)
# 创建person节点
person = dom.createElement('person')
# 创建name节点和age节点,并添加到person节点中
name = dom.createElement('name')
name.appendChild(dom.createTextNode('Tom'))
age = dom.createElement('age')
age.appendChild(dom.createTextNode('18'))
person.appendChild(name)
person.appendChild(age)
# 将person节点添加到根节点中
root.appendChild(person)
# 将DOM对象写入XML文件中
with open('output.xml', 'w', encoding='utf-8') as f:
dom.writexml(f, indent='', addindent='\t', newl='\n', encoding='utf-8')
在这个示例代码中,首先创建一个空的DOM对象,然后创建根节点 person_list,并将其添加到DOM对象中。接着创建要写入的person节点,并使用 createElement 和 createTextNode 方法创建name和age子节点,并将他们添加到person节点中。最后将person节点添加到根节点中,并使用DOM对象的writexml方法将DOM对象写入文件中。
以上就是关于“Python使用minidom读写xml的方法”的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python使用minidom读写xml的方法 - Python技术站