sax模塊處理xml

sax的簡單用法

sax (Simple API for XML), 以事件處理爲基礎,按照遇到XML元素的順序讀取XML文檔,觸發處理函數來執行處理。
爲此,我們需要定義自己的處理器(Handler),定義遇到XML元素時,執行什麼樣的處理動作。如startElement()方法,定義了遇到開始tag時,應該做些什麼。以下是示範代碼:

from xml.sax import ContentHandler, parse
class MyHandler(ContentHandler):
    def startDocument(self):
        pass
    
    def startElement(self, name, attrs):
        pass

    def endElement(self, name):
        pass

    def characters(self, content):
        pass

    def endDocument(self):
        pass

parse('sample.xml', MyHandler())

ContentHandler類方法介紹

characters(content)方法

調用時機:

  • 從行開始,遇到tag之前,存在字符,content的值爲這些字符串。
  • 從一個tag,遇到下一個tag之前, 存在字符,content的值爲這些字符串。
  • 從一個tag,遇到行結束符之前,存在字符,content的值爲這些字符串。

tag可以是開始tag,也可以是結束tag。


startDocument()方法

文檔啓動的時候調用。


endDocument()方法

解析器到達文檔結尾時調用。


startElement(name, attrs)方法

遇到XML開始tag時調用,name是tag的名字,attrs是tag的屬性值字典。


endElement(name)方法

遇到XML結束tag時調用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章