一、介紹
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/zh-tw/n/280884.html