前言
xml是一种可扩展标记语言,常用来存储和传输一些轻量数据。在java编程中我们就已经接触过xml的解析,可以使用dom、dom4j、sax等方法。当然,相似的,在python中,常见的XML编程接口有DOM和SAX,这两种接口处理XML文件的方式不同,当然使用场合也不同。Python有三种方法解析XML,SAX,DOM,以及ElementTree。
python解析xml的方式
1.三种解析xml的方式
解析xml的三种方式是:sax、dom和elementtree。注意:因DOM需要将XML数据映射到内存中的树,一是比较慢,二是比较耗内存,而SAX流式读取XML文件,比较快,占用内存少,但需要用户实现回调函数(handler)。
2.python使用sax解析xml
在python中使用sax方式处理xml要先引入xml.sax中的parse函数,还有xml.sax.handler中的ContentHandler。
xml.sax提供了3个函数和异常类。有make_parser、parse和parseString。
error_handler:如果指定该参数,errorhandler必须是一个SAXErrorHandler对象
例如:下面来创建一个xmlReader
parser=xml.sax.make_parser()
parser.setFeature(xml.sax.handler.feature_namespaces,0)
parser.parse(1.xml)
拓展阅读
在java中使用sax解析xml的基本结构