python寫xml

dom寫xml 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>