美文网首页
XPath和SAX

XPath和SAX

作者: 一月芷 | 来源:发表于2019-02-20 12:31 被阅读2次

XPath

保留复杂的层级关系

谓语

嵌在[]中用来插着某个特定的节点

路径表达式(类似于文件操作)

Python处理xml的方法

DOM把整个xmL读入内存解析为树占用内存解析很慢而SAX流模式边度边解析

import string 


from xml.parsers.expat import ParserCreate

class DefaultSaxHandler:


def start_element(self,name, attr):
    self.name =name 
    print ('element:%s,attrs:%s' %(name ,str(attrs)))
    
def end_element(self,name):
    print ('end elements:%s'%name)
    
def char_data(self,text):
    if text.strip():
        print("%s's text is %s"%(self.name,text)

handler = DefaultSaxHandler()

parser = ParserCreate()

定义三个函数进行解析


print ('element: %s'% name)

with open('  ','r') as f:
    parser.Parse(f.read())

层级简单使用dom,层级复杂使用sax

sax处理大的xml因为生成dom树的内存占有很大

相关文章

网友评论

      本文标题:XPath和SAX

      本文链接:https://www.haomeiwen.com/subject/ijzcyqtx.html