一、介绍
Python提供了多个解析XML文档的模块,xml.dom.minidom是其中一个非常流行的模块。它是Python自带的一部分,提供了DOM对象模型的标准接口,可以在Python中非常方便地创建、解析和修改XML文档。
二、解析XML文档
要解析一个XML文档,需要使用xml.dom.minidom.parse()函数读取XML文件,返回一个document对象。
import xml.dom.minidom dom = xml.dom.minidom.parse('example.xml')
其中,’example.xml’是XML文件的路径。
读取了XML文件之后,就可以通过Document对象的getElementsByTagName()方法获取XML中的元素,该方法返回一个nodeList类型的对象。
root = dom.documentElement tagname = root.getElementsByTagName('name')[0].childNodes[0].data
上面代码获取XML文件中name元素的值。
三、创建XML文档
使用xml.dom.minidom模块创建XML文件非常简单,只需要调用Document对象的创建方法即可。
import xml.dom.minidom doc = xml.dom.minidom.Document()
创建元素节点时,需要使用createElement()方法,创建文本节点时需要使用createTextNode()方法,最后使用appendChild()方法添加到Document对象中,最后使用toxml()方法得到XML文件。
root = doc.createElement('root') doc.appendChild(root) name = doc.createElement('name') root.appendChild(name) name_text = doc.createTextNode('Alice') name.appendChild(name_text) print(doc.toxml())
四、修改XML文档
修改XML文档也非常方便。首先使用getElementsByTagName()方法获取要修改的元素,然后使用childNodes[0]获取到该节点的值,然后使用nodeValue属性给该节点重新赋值,最后使用toxml()方法得到修改后的XML文件。
import xml.dom.minidom dom = xml.dom.minidom.parse('example.xml') root = dom.documentElement name = root.getElementsByTagName('name')[0] new_name = 'Bob' name.childNodes[0].nodeValue = new_name with open('example.xml', 'w') as f: f.write(dom.toxml())
五、删除节点
使用removeChild()方法删除节点。首先使用getElementsByTagName()方法获取要删除的元素,然后使用parentNode属性获取该节点的父节点,最后使用removeChild()方法删除该节点。
import xml.dom.minidom dom = xml.dom.minidom.parse('example.xml') root = dom.documentElement name = root.getElementsByTagName('name')[0] root.removeChild(name) with open('example.xml', 'w') as f: f.write(dom.toxml())
六、总结
xml.dom.minidom模块是Python自带的一部分,是一种非常方便的处理XML文件的工具。它提供了创建、解析、修改XML文件的方法,能够很好地满足XML文件处理的需求。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/280884.html