码迷,mamicode.com
首页 > 编程语言 > 详细

python基础-XML解析

时间:2014-11-01 23:06:53      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   io   color   ar   for   sp   strong   

python提供了两种解析xml的方式

SAX Simple API for xml

适合解析大型文件,因为解析内容不会保存在内容中,而是在解析到相关内容的时候调用注册的方法

DOM document object model

将整个文档读取到内存中形成一个树形结构

 

sax解析方式

    import xml.sax
    
    class MyXmlHandler(xml.sax.ContentHandler):
        def __init__(self):
            name=""
    
        def startElement(self,tag,attributes):
            print "startElement tag:"+ tag
            print attributes
    
        def endElement(self,tag):
            print "endElement tag:" +tag
    
        def characters(self,content):
            #print "charaters:"+self.CurrenntData
            print content
            print ""
    
    parser = xml.sax.make_parser()
    
    # turn off namepsaces
    #? parser.setFeature(xml.sax.handler.feature_namespaces, 0)
    
    Handler = MyXmlHandler()
    parser.setContentHandler( Handler )
    parser.parse("example-req.xml")

 

DOM的解析方式

要简洁很多

from xml.dom.minidom import parse
import xml.dom.minidom

DOMTree = xml.dom.minidom.parse("example-req.xml")
collection = DOMTree.documentElement

ActivityCode=collection.getElementsByTagName("ActivityCode")
print ActivityCode[0].childNodes[0].data

 

python基础-XML解析

标签:des   style   blog   io   color   ar   for   sp   strong   

原文地址:http://www.cnblogs.com/alwaysthinking/p/4067907.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!