1. 程式人生 > >dom寫xml

dom寫xml

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