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

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

1、XML文件解析方式的特色

1DOM解析XML文檔的特色

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

    優勢:能夠方便地操做內存中的樹狀節點ide

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

二、SAX解析XML文檔的特色

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

優勢:具備佔用內存少,效率高等特色對象

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

三、流方式解析XML文檔的特色

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

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

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

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

    優勢:快速、方便

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

相關文章
相關標籤/搜索