XML 指可擴展標記語言(eXtensible Markup Language)。python
XML 被設計用來傳輸和存儲數據。web
XML是一套定義語義標記的規則,這些標記將文檔分紅許多部件並對這些部件加以標識。編程
它也是元標記語言,即定義了用於定義其餘與特定領域有關的、語義的、結構化的標記語言的句法語言。函數
常見的XML編程接口有DOM和SAX,這兩種接口處理XML文件的方式不一樣,固然使用場合也不一樣。設計
python有三種方法解析XML,SAX,DOM,以及ElementTree:接口
python 標準庫包含SAX解析器,SAX用事件驅動模型,經過在解析XML的過程當中觸發一個個的事件並調用用戶定義的回調函數來處理XML文件。事件
將XML數據在內存中解析成一個樹,經過對樹的操做來操做XML。內存
ElementTree就像一個輕量級的DOM,具備方便友好的API。代碼可用性好,速度快,消耗內存少。文檔
注:因DOM須要將XML數據映射到內存中的樹,一是比較慢,二是比較耗內存,而SAX流式讀取XML文件,比較快,佔用內存少,但須要用戶實現回調函數(handler)。回調函數