最近要用python写一个小的脚本,正好学习下python,期间要解析xml文件,发现minidom是一个轻量级的处理xml的库,顺便就记录下来
首先要用minidom package 就要import它
from xml.dom import minidom
搞定,现在我就能能使用他了,
读取xml
doc = minidom.parse(file_name)
这时候我们就拿到了xml的整个doc 树,下面的工作就很简单了
root = doc.documentElement
node=root.getElementsByTagName('name')
拿到node之后,我们就可以读取node的信息了
node.getAttribute('id')
node.nodeName
node.nodeValue
node.childNodes
在取node的attribute的时候要判断是否为minidom.Node.ELEMENT_NODE,因为parse后,所有两个标记间的内容都被视为文本结点。象每行后面的回车,都被看到文本结点
创建一个节点
x = dom.createElement("foo") # creates <foo />
dom.childNodes[1].appendChild(x) # appends at end of 1st child's children
打印xml
print dom.toxml()
79 f = codecs.open(file_name,'w','utf-8')
80 dom.writexml(f, encoding='utf-8')
81 f.close()
大功告成。