Python使用minidom读写xml的方法
本篇章节讲解Python使用minidom读写xml的方法。分享给大家供大家参考。具体分析如下: 一 python提供的xml支持 2种工业标准的xml解析方法-SAX和DOM。SAX(simple API for XML),是基于事件处理的,当XML文档顺序地读入时,每次遇到一个元素会触发相应的事件处理函数来处理。DOM(Document Object Model),通过构建一个树结构来表现整个xml文档,一旦树被构建,可以通过DOM提供了接口来遍历树和提取相应的数据。 1)xml.dom.minidom 二 xml实例:(employees.xml) <?xml version="1.0" encoding="UTF-8" ?> <employees> <employee> <name>l inux </name> <age> 30 </age> </employee> <employee> <name>windows </name> <age> 20 </age> </employee> </employees> 三 使用xml.dom.minidom来读写xml def TestMiniDom(): from xml.dom import minidom doc = minidom.parse( "employees.xml" ) # get root element: <employees/> root = doc.documentElement # get all children elements: <employee/> <employee/> employees = root.getElementsByTagName( "employee" ) for employee in employees: print ( " ------------------------------------------- " ) # element name : employee print (employee.nodeName) # element xml content : <employee><name>windows</name><age>20</age></employee> # basically equal to toprettyxml function print (employee.toxml()) nameNode = employee.getElementsByTagName( "name" )[0] print (nameNode.childNodes) print (nameNode.nodeName + ":" + nameNode.childNodes[0].nodeValue) ageNode = employee.getElementsByTagName( "age" )[0] print (ageNode.childNodes) print (ageNode.nodeName + ":" + ageNode.childNodes[0].nodeValue) print ( " ------------------------------------------- " ) for n in employee.childNodes: print (n) TestMiniDom() 2)使用xml.dom.minidom来生成xml: def CreateXml(): import xml.dom.minidom impl = xml.dom.minidom.getDOMImplementation() dom = impl.createDocument(None,'employees',None) root = dom.documentElement employee = dom.createElement( 'employee' ) root.appendChild(employee) nameE = dom.createElement( 'name' ) nameT = dom.createTextNode( 'linux' ) nameE.appendChild(nameT) employee.appendChild(nameE) ageE = dom.createElement( 'age' ) ageT = dom.createTextNode( '30' ) ageE.appendChild(ageT) employee.appendChild(ageE) f = open( 'employees2.xml','w') dom.writexml(f,addindent = ' ',newl = 'n',encoding = 'utf-8' ) f.close() CreateXml() 3)使用xml.dom.minidom需要注意的 *使用parse()或createDocument()返回的为DOM对象; 希望本文所述对大家的Python程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |