qt下xml的sax解析

2021-04-29 18:09:28 字數 779 閱讀 2191

qt下xml的sax的解析器同symbian下的cparser,都是基於事件驅動的。解析過程中自動呼叫的**函式在qxmldefaulthandler中。

使用步驟:

1。繼承qxmldefaulthandler(該類的實現是個觀察器),並實現**函式

startelement()

endelement()

characters()

fatalerror()

需要注意:對與同乙個characters可能會多次引起characters(),要獲得完整的characters,需要在endelement()後將每次characters()事件中傳出的characters連線起來。這同symbain中的**函式oncontent()

2.用要解析的xml檔案建立qxmlinputsource

qfile file("test.xml");

qxmlinputsource inputsource(&file);

3.建立qxml******reader物件,並設定其contenthandler和errorhandler

qxml******reader reader;

reader.setcontenthandler(handler);

reader.seterrorhandler(handler);

handler為類saxhandler的物件,saxhandler為步驟1中從qxmldefaulthandler繼承的類。

4.解析xml

reader.parser(inputsource);

XML解析之SAX解析

sax解析 核心類 saxparse ctory saxparser defaulthandler 步驟 建立工廠類例項 saxparse ctory factory saxparse ctory.newinstance 獲取解析器類例項 saxparser parser factory.newsa...

SAX解析xml檔案

public class xmlsaxactivity extends activity class mycontenthandlerlistener implements onclicklistener catch exception e public class downloadhelper c...

xml檔案解析SAX

size large xml檔案解析 xml檔案解析有四種方式,color blue 1.dom生成和解析xml文件 sax是基於事件流的解析 2.sax生成和解析xml文件 基於xml文件樹結構的解析 3.dom4j生成和解析xml文件 4.jdom生成和解析xml color 本文章用第一種方法...