新聞中心
SAX(simple API for XML)是一種XML解析的替代方法。相比于DOM,SAX是一種速度更快,更有效的方法。它逐行掃描文檔,一邊掃描一邊解析。

解析器負責讀取 XML 文檔,并向事件處理器發(fā)送事件,如元素開始跟元素結(jié)束事件。
而事件處理器則負責對事件作出響應,對傳遞的 XML 數(shù)據(jù)進行處理。
1、對大型文件進行處理;
2、只需要文件的部分內(nèi)容,或者只需從文件中得到特定信息。
3、想建立自己的對象模型的時候。
在 Python 中使用 sax 方式處理 xml 要先引入 xml.sax 中的 parse 函數(shù),還有 xml.sax.handler 中的 ContentHandler。
ContentHandler 類方法介紹
characters(content) 方法
調(diào)用時機:
從行開始,遇到標簽之前,存在字符,content 的值為這些字符串。
從一個標簽,遇到下一個標簽之前, 存在字符,content 的值為這些字符串。
從一個標簽,遇到行結(jié)束符之前,存在字符,content 的值為這些字符串。
標簽可以是開始標簽,也可以是結(jié)束標簽。
startDocument() 方法
文檔啟動的時候調(diào)用。
endDocument() 方法
解析器到達文檔結(jié)尾時調(diào)用。
startElement(name, attrs) 方法
遇到XML開始標簽時調(diào)用,name 是標簽的名字,attrs 是標簽的屬性值字典。
endElement(name) 方法
遇到XML結(jié)束標簽時調(diào)用。
make_parser 方法
以下方法創(chuàng)建一個新的解析器對象并返回。
xml.sax.make_parser( [parser_list] )
參數(shù)說明:
parser_list - 可選參數(shù),解析器列表
parser 方法
以下方法創(chuàng)建一個 SAX 解析器并解析xml文檔:
xml.sax.parse( xmlfile, contenthandler[, errorhandler])
參數(shù)說明:
xmlfile – xml文件名
contenthandler – 必須是一個 ContentHandler 的對象
errorhandler – 如果指定該參數(shù),errorhandler 必須是一個 SAX ErrorHandler 對象
parseString 方法
parseString 方法創(chuàng)建一個 XML 解析器并解析 xml 字符串:
xml.sax.parseString(xmlstring, contenthandler[, errorhandler])
參數(shù)說明:
xmlstring – xml字符串
contenthandler – 必須是一個 ContentHandler 的對象
errorhandler – 如果指定該參數(shù),errorhandler 必須是一個 SAX ErrorHandler對象
文章名稱:Python中通過SAX解析XML
URL地址:http://www.dlmjj.cn/article/dppcocs.html


咨詢
建站咨詢
