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 本文章用第一種方法...