QT開發(四十五)——XML文件解析總結

    QT開發(四十五)——XML文件解析總結

一、XML文件解析方式的特點

1DOM解析XML文檔的特點

    基於DOM的解析器的核心是在內存中建立和XML文檔相對應的樹狀結構。XML文件的標記、標記中的文本數據和實體等都是內存中的樹狀結構的某個節點相對應。

    優點:可以方便地操作內存中的樹狀節點

    缺點:如果XML文件較大,或者只需要解析XML文檔的一部分數據,就會佔用大量的內存空間

2、SAX解析XML文檔的特點

SAX解析的核心是事件處理機制,SAX採用事件機制的方式來解析XML文檔使用SAX解析器對XML文檔進行解析時SAX解析器根本不創建任何對象,只是在遇到XML文檔的各種標籤文檔開始元素開始文本、元素結束時觸發對應的事件,並將XML元素的內容封裝成事件傳出去而程序員則負責提供事件監聽器來監聽這些事件,從而觸發相應的事件處理方法並通過這些事件處理方法實現對XML文檔的訪問

優點:具有佔用內存少,效率高等特點

缺點:不便於隨機訪問任意節點。

3、流方式解析XML文檔的特點

    QXmlStreamReader使用了遞增式的解析器,適合於在整個XML文檔中查找給定的標籤、讀入無法放入內存的大文件以及處理XML的自定義數據。

    優點:快速、方便,分塊讀取XML文件,可讀取大文件

    缺點:遞增式解析器,只能順序遍歷XML文件的元素,不能隨機訪問

    QXmlStreamWriter類提供了簡單流接口的XML寫入器,寫入XML文檔只需要調用相應的記號寫入函數來寫入相關數據

    優點:快速、方便

    缺點:只能按順序寫入元素,不能刪除、修改


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