国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python解析xml模塊封裝代碼

2020-02-23 05:07:01
字體:
來源:轉載
供稿:網友

有如下的xml文件:

代碼如下:
<?xml version="1.0" encoding="utf-8" ?> 
<root> 
<childs> 
<child name='first' >1</child> 
<child value="2">2</child> 
</childs> 
</root>

下面介紹python解析xml文件的幾種方法,使用python模塊實現。

方式1,python模塊實現自動遍歷所有節點:

代碼如下:
#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
from xml.sax.handler import ContentHandler 
from xml.sax import parse
class TestHandle(ContentHandler): 
    def __init__(self, inlist): 
        self.inlist = inlist 

    def startElement(self,name,attrs): 
        print 'name:',name, 'attrs:',attrs.keys() 

    def endElement(self,name): 
        print 'endname',name 

    def characters(self,chars): 
        print 'chars',chars 
        self.inlist.append(chars) 

             
if __name__ == '__main__': 
    lt = [] 
    parse('test.xml', TestHandle(lt)) 
    print lt

結果:
[html] view plaincopy
name: root attrs: [] 
chars  

name: childs attrs: [] 
chars  

name: child attrs: [u'name'] 
chars 1 
endname child 
chars  

name: child attrs: [u'value'] 
chars 2 
endname child 
chars  

endname childs 
chars  

endname root 
[u'/n', u'/n', u'1', u'/n', u'2', u'/n', u'/n']

方式2,python模塊實現獲取根節點,按需查找指定節點:

代碼如下:
#!/usr/bin/env python   
# -*- coding: utf-8 -*-   
from xml.dom import minidom   
xmlstr = '''''<?xml version="1.0" encoding="UTF-8"?>
<hash>
    <request name='first'>/2/photos/square/type.xml</request>
    <error_code>21301</error_code>
    <error>auth faild!</error>
</hash>
''' 
def doxml(xmlstr): 
    dom = minidom.parseString(xmlstr)     
    print 'Dom:'     
    print dom.toxml()   

    root = dom.firstChild     
    print 'root:'     
    print root.toxml()   

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金昌市| 平罗县| 东乌珠穆沁旗| 青海省| 尚志市| 玛纳斯县| 策勒县| 林甸县| 洛隆县| 安新县| 渝中区| 彭泽县| 梁山县| 绵阳市| 临桂县| 自贡市| 虞城县| 章丘市| 松阳县| 云林县| 海淀区| 苍溪县| 宁城县| 修文县| 铁力市| 南乐县| 南投县| 吐鲁番市| 宣城市| 常宁市| 沁源县| 盐山县| 静乐县| 沙河市| 大同县| 浦北县| 恭城| 如东县| 临高县| 绥德县| 津南区|