国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > Python > 正文

Python使用minidom讀寫xml的方法

2020-01-04 18:07:39
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了Python使用minidom讀寫xml的方法,實例分析了使用minidom模塊操作XML文件的相關技巧,需要的朋友可以參考下

本文實例講述了Python使用minidom讀寫xml的方法。分享給大家供大家參考。具體分析如下:

一 python提供的xml支持

2種工業標準的xml解析方法-SAX和DOM。SAX(simple API for XML),是基于事件處理的,當XML文檔順序地讀入時,每次遇到一個元素會觸發相應的事件處理函數來處理。DOM(Document Object Model),通過構建一個樹結構來表現整個xml文檔,一旦樹被構建,可以通過DOM提供了接口來遍歷樹和提取相應的數據。

python還提供了python獨特的xml解析方法,相比于SAX和DOM更容易使用和更加快速,此方法為ElementTree。

python的xml模塊為:

1)xml.dom.minidom

2)xml.elementtree

3)xml.sax + xml.dom

二 xml實例:(employees.xml)

 

 
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <employees>  
  3. <employee>  
  4. <name>l inux </name>  
  5. <age> 30 </age>  
  6. </employee>  
  7. <employee>  
  8. <name>windows </name>  
  9. <age> 20 </age>  
  10. </employee>  
  11. </employees> 

三 使用xml.dom.minidom來讀寫xml

1)使用xml.dom.minidom來解析xml:

 

 
  1. def TestMiniDom():  
  2. from xml.dom import minidom  
  3. doc = minidom.parse( "employees.xml" )  
  4. # get root element: <employees/>  
  5. root = doc.documentElement  
  6. # get all children elements: <employee/> <employee/>  
  7. employees = root.getElementsByTagName( "employee" )  
  8. for employee in employees:  
  9. print ( " ------------------------------------------- " )  
  10. # element name : employee  
  11. print (employee.nodeName)  
  12. # element xml content : <employee><name>windows</name><age>20</age></employee>  
  13. # basically equal to toprettyxml function  
  14. print (employee.toxml())  
  15. nameNode = employee.getElementsByTagName( "name" )[0]  
  16. print (nameNode.childNodes)  
  17. print (nameNode.nodeName + ":" + nameNode.childNodes[0].nodeValue)  
  18. ageNode = employee.getElementsByTagName( "age" )[0]  
  19. print (ageNode.childNodes)  
  20. print (ageNode.nodeName + ":" + ageNode.childNodes[0].nodeValue)  
  21. print ( " ------------------------------------------- " )  
  22. for n in employee.childNodes:  
  23. print (n)  
  24. TestMiniDom() 

2)使用xml.dom.minidom來生成xml:

 

 
  1. def CreateXml():  
  2. import xml.dom.minidom  
  3. impl = xml.dom.minidom.getDOMImplementation()  
  4. dom = impl.createDocument(None'employees' , None)  
  5. root = dom.documentElement  
  6. employee = dom.createElement( 'employee' )  
  7. root.appendChild(employee)  
  8. nameE = dom.createElement( 'name' )  
  9. nameT = dom.createTextNode( 'linux' )  
  10. nameE.appendChild(nameT)  
  11. employee.appendChild(nameE)  
  12. ageE = dom.createElement( 'age' )  
  13. ageT = dom.createTextNode( '30' )  
  14. ageE.appendChild(ageT)  
  15. employee.appendChild(ageE) 
  16. f = open( 'employees2.xml' , 'w')  
  17. dom.writexml(f, addindent = ' ' , newl = '/n' ,encoding = 'utf-8' ) 
  18. f.close()  
  19. CreateXml() 

3)使用xml.dom.minidom需要注意的

*使用parse()或createDocument()返回的為DOM對象;

*使用DOM的documentElement屬性可以獲得Root Element;

*DOM為樹形結構,包含許多的nodes,其中element是node的一種,可以包含子elements,textNode也是node的一種,是最終的子節點;

*每個node都有nodeName,nodeValue,nodeType屬性,nodeValue是結點的值,只對textNode有效。對于textNode,想得到它的文本內容可以使用: .data屬性。

*nodeType是結點的類型,現在有以下:

'ATTRIBUTE_NODE''CDATA_SECTION_NODE''COMMENT_NODE''DOCUMENT_FRAGMENT_NODE'

'DOCUMENT_NODE''DOCUMENT_TYPE_NODE''ELEMENT_NODE''ENTITY_NODE''ENTITY_REFERENCE_NODE'

'NOTATION_NODE''PROCESSING_INSTRUCTION_NODE''TEXT_NODE'

*getElementsByTagName()可以根據名字來查找子elements;

*childNodes返回所有的子Nodes,其中所有的文本均為textNode,包含元素間的‘/n/r'和空格均為textNode;

*writexml() 時addindent=' '表示子元素的縮進,newl='/n'表示元素間的換行,encoding='utf-8'表示生成的xml的編碼格式()。

希望本文所述對大家的Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
国产福利微拍精品一区二区| 欧美日韩不卡中文字幕在线| 青青草免费在线观看| 国产va在线| 亚洲一区二区三区在线观看网站| 亚洲永久免费网站| av网址在线看| 麻豆精品不卡国产免费看| 超碰免费在线播放| 国产探花在线观看| 精品剧情v国产在线观看| 国产变态拳头交视频一区二区| 91xx在线观看| 日本视频一二三区中文字幕| 免费午夜一级| 激情亚洲综合网| 国产女人在线观看| 国产视频一二三区| 99热免费在线| 国产一区电影| 欧美xxxxx性| 国产福利在线观看| 九九热精品在线视频| 伊人中文在线| 国产亚洲精品午夜高清影院| a级片国产精品自在拍在线播放| 成人超碰在线| 俺来俺也去www色在线观看| 国产香蕉尹人视频在线| 男人天堂亚洲| 天天干天天摸| 精品一区二区91| 最近中文字幕大全中文字幕免费| www.eeuss影院| av手机天堂| 国产国语**毛片高清视频| 国产在线观看18| 人人干在线视频| www.操操| 狠狠综合久久久综合| 青草在线视频在线观看| av网址在线免费观看| 亚洲妇熟xxxx妇色黄| 2018中文字幕在线观看| 国产婷婷视频在线| 国产麻豆麻豆| 国内自拍视频在线看免费观看| 亚洲成人av在线影院| 亚洲永久免费网站| 日本一二三区视频免费高清| 亚洲精品自拍区在线观看| 在线看a视频| 青青草原av在线| 国产免费视频在线| 国产精品yjizz视频网一二区| 国产精品扒开做爽爽爽的视频| 国产激情视频一区二区三区| 18av在线播放| 波多野结衣久久高清免费| 任你操在线观看| 丁香视频免费观看| 国产精品视频一区二区图片| 国产成人午夜精品| 午夜亚洲成人| 国产在线超碰| 国产成人午夜精品| 天天插天天射| 国产夫妻视频| 国产精品一区二区三区四区色| 国产区成人精品视频| av在线天堂| 国产男女av| 亚洲色婷婷综合开心网| 国内精品免费一区二区三区| 国产成人精品自线拍| 日本成人在线播放| 尤物在线视频| 免费观看v片在线观看| 国产精美视频| 最近中文字幕mv免费高清电影 | 高清av在线| 精品av中文字幕在线毛片| 天天操天天操一操| 麻豆电影传媒二区| 亚洲电影先锋| 国产精品二线| 国产美女av在线| 青青草在线免费观看| 2020国产在线视频| 中文字幕专区| 久久国产综合视频| 日本欧洲一区| www免费在线观看| 永久免费在线观看| 中文国产字幕在线观看| 国产日本韩国在线播放| 国产专区在线播放| 国产在线激情视频| 欧美精品小视频| 九九色在线观看| 黄色毛片在线| 国产精品一品| 国产精品理人伦一区二区三区| 国产区视频在线| 国产福利在线视频| 国产福利图片| 在线视频1区2区| 嫩草在线播放| 国产69精品久久久久孕妇国产69久久| 欧美日韩在线视频免费观看| 青青草在线视频免费观看| wwwww在线观看免费视频| 日本一二区视频| 久草国产视频| 国产成人无吗| 天天噜天天色| 国产一区二区三区美女秒播| 国产精品粉嫩av| a√在线视频| 麻豆精品视频入口| 高清av在线| 在线播放黄色网址| 国产九色视频| av中文网站| 中文字幕在线观看av| 国产成人久久精品77777| 四虎成人欧美精品在永久在线 | 人人干在线视频| 五月婷婷在线观看| 99久久国产视频| 国产在线观看色| 99综合精品久久| 国产尤物视频在线| 一本大道五月香蕉| 丁香婷婷激情| a视频在线观看| 91美女主播在线视频| 天堂中文字幕在线| 亚洲а∨精品天堂在线| 国产丝袜自拍| 丁香花在线电影| 人人在线视频| free性亚洲| 在线看黄网址| 精品视频vs精品视频| 1区不卡电影| 中文字幕国产视频| 国产理论电影在线观看| 久久五月精品中文字幕 | jizz国产| 国产98在线| 国产日产精品久久久久久婷婷| 男人天堂v视频| 天天插天天操| 亚洲综合激情六月婷婷在线观看| 国产视频福利| 国产农村一级特黄α**毛片| 免费精品国产自产拍在| 四虎国产精品永久在线| av在线free| av高清资源| 国产超碰精品在线观看| 国产日产一区二区| 天堂在线中文| 中文字幕亚洲免费| 国产无遮挡又黄又爽免费软件 | 国产日产精品久久久久久婷婷| 99热最新网址| 中文字幕网站视频在线| 最近久乱中文字幕| 最近中文字幕大全中文字幕免费| 福利在线国产| 九九热免费在线视频| 国产鲁鲁视频在线观看免费| 国产网站免费看| 亚洲欧美精品中文第三| 麻豆精品免费视频入口| 天堂在线一二区| 国产午夜视频| 性国产高清在线观看| 成人欧美日韩| 国产福利在线看| av中文资源在线| 五月天天在线| sese在线视频| 99视频在线观看地址| 精品麻豆视频| 久久久久久日本一区99| 国产精品国产三级国产试看| 日本高清中文字幕在线| 国产精品人人| 久热av在线| 日本视频在线观看一区二区三区| 天天操天天曰| 牛牛热在线视频| 在线播放国产区| 国产娇喘精品一区二区三区图片| 日本高清中文字幕在线| 伊人网在线免费观看| 国产图片综合|