dom寫xml
阿新 • • 發佈:2018-09-04
attr 編碼轉換 root 對象 port 表示 ext 生成 結果
1.引入包
import xml.dom.minidom
2.writexml方法
writexml(writer, indent, addindent, newl, encoding)
writer是文件對象。
indent是每個tag前填充的字符,如:‘ ‘,則表示每個tag前有兩個空格。
addindent是每個子結點的縮近字符,如下面的例子中單引號中我直接用的tab鍵。
newl是每個tag後填充的字符,如:‘\n‘,則表示每個tag後面有一個回車
encoding是生成的XML信息頭中的encoding屬性值,在輸出時minidom並不真正進行編碼的處理,如果你保存的文本內容中有漢字,則需要自已進行編碼轉換。
3.直接上python代碼
#xmlTest_write.py # -*- coding: utf-8 -*- import xml.dom.minidom #生成xml文件 def GenerateXml(): impl = xml.dom.minidom.getDOMImplementation() #設置根結點emps dom = impl.createDocument(None, ‘emps‘, None) root = dom.documentElement employee = dom.createElement(‘emp‘) #增加屬性 employee.setAttribute("empno","1111") root.appendChild(employee) #設置子結點 #ename nameE=dom.createElement(‘ename‘) nameT=dom.createTextNode(‘傑克‘) nameE.appendChild(nameT) #子節點添加屬性 nameE.setAttribute("lastname","克") employee.appendChild(nameE)#age nameE=dom.createElement(‘age‘) nameT=dom.createTextNode(‘33‘) nameE.appendChild(nameT) employee.appendChild(nameE) f= open(‘emplist.xml‘, ‘w‘) #w替換為a,追加 dom.writexml(f, addindent=‘ ‘, newl=‘\n‘) f.close() GenerateXml()
4.運行結果,生成的emplist.xml文件。
<?xml version="1.0" ?> <emps> <emp empno="1111"> <ename lastname="克">傑克</ename> <age>33</age> </emp> </emps>
dom寫xml