先說說如何建立一個XML檔案吧
# -*- coding: utf-8 -*- from xml.dom import minidom impl = minidom.getDOMImplementation() dom = impl.createDocument(None, None, None)#namespaceURI, qualifiedName, doctype #write to dom root = dom.createElement("skills") for skillid in range(10): skill= dom.createElement('skill') skill.setAttribute('id', str(skillid)) root.appendChild( skill ) dom.appendChild( root ) #end write to dom #writexml(writer, indent, addindent, newl, encoding) #writer是檔案物件 #indent是每個tag前填充的字元,如:' ',則表示每個tag前有兩個空格 #addindent是每個子結點的縮近字元 #newl是每個tag後填充的字元,如:'\n',則表示每個tag後面有一個回車 #encoding是生成的XML資訊頭中的encoding屬性值, # 在輸出時minidom並不真正進行編碼的處理,如果你儲存的文字內容中有漢字, # 則需要自已進行編碼轉換。 f=file('c:\\skills.xml','w') dom.writexml(f,'',' ','\n','utf-8') f.close()
這樣生成的XM瞭如下:
<?xml version="1.0" encoding="utf-8"?>
<skills>
<skill id="0"/>
<skill id="1"/>
<skill id="2"/>
<skill id="3"/>
<skill id="4"/>
<skill id="5"/>
<skill id="6"/>
<skill id="7"/>
<skill id="8"/>
<skill id="9"/>
</skills>
#######################
讀取XML
>>> dom = xml.dom.minidom.parse('c:/skills.xml')
>>> root = dom.documentElement
>>> root.nodeName
>>> r2.nodeName
u'skills'