1、內存數據產生?
2、產生xml內存對象(也就是DOM樹)?
3、產生根對象?
4、往根對象裏加數據?
5、把xml內存對象寫到文件
下面是壹個創建xml文檔的簡單實例:
import?xml.dom.minidom#在內存中創建壹個空的文檔doc?=?xml.dom.minidom.Document()?#創建壹個根節點Managers對象root?=?doc.createElement('Managers')?
#設置根節點的屬性root.setAttribute('company',?'xx科技')?
root.setAttribute('address',?'科技軟件園')?
#將根節點添加到文檔對象中doc.appendChild(root)?
managerList?=?[{'name'?:?'joy',?'age'?:?27,?'sex'?:?'女'},
{'name'?:?'tom',?'age'?:?30,?'sex'?:?'男'},
{'name'?:?'ruby',?'age'?:?29,?'sex'?:?'女'}
]for?i?in?managerList?:
nodeManager?=?doc.createElement('Manager') nodeName?=?doc.createElement('name') #給葉子節點name設置壹個文本節點,用於顯示文本內容 nodeName.appendChild(doc.createTextNode(str(i['name']))) nodeAge?=?doc.createElement("age") nodeAge.appendChild(doc.createTextNode(str(i["age"]))) nodeSex?=?doc.createElement("sex") nodeSex.appendChild(doc.createTextNode(str(i["sex"]))) #將各葉子節點添加到父節點Manager中, #最後將Manager添加到根節點Managers中 nodeManager.appendChild(nodeName) nodeManager.appendChild(nodeAge) nodeManager.appendChild(nodeSex) root.appendChild(nodeManager)#開始寫xml文檔fp?=?open('c:\\wcx\\Manager.xml',?'w')doc.writexml(fp,?indent='\t',?addindent='\t',?newl='\n',?encoding="utf-8")
執行結果:
<?xml?version="1.0"?encoding="utf-8"?><Managers?address="科技軟件園"?company="xx科技">
<Manager>
<name>joy</name>
<age>27</age>
<sex>女</sex>
</Manager>
<Manager>
<name>tom</name>
<age>30</age>
<sex>男</sex>
</Manager>
<Manager>
<name>ruby</name>
<age>29</age>
<sex>女</sex>
</Manager>
</Managers>
6.用Python自帶的寫xml文檔的API去寫,比較方便,後期容易維護。如果直接用打開文件的方式,壹行壹行的去寫,比較費時,也難以維護。