开发者

Android: why use XMLReader?

Is there any reason why I should use a XMLReader with the SAXParser? I'm seeing this kind of usage quite a lot:

        sp = spf.newSAXParser();
开发者_开发百科        XMLReader xr = sp.getXMLReader();
        LoginContentHandler uch = new LoginContentHandler();
        xr.setContentHandler(uch);
        xr.parse(new InputSource(in));

I always use the parser this way:

        sp = spf.newSAXParser();
        DefaultHandler dh = new LoginContentHandler();
        sp.parse(in, dh);

Any particular reason? Just wondering because my way is shorter, and I don't really see why I should use a XMLReader.


so to answer the question.

People using XMLReader are assuming that there is enough memory to store the file as a tree object and be able to traverse it at Log(n) time for searching.

On the other hand using SAX straight would mean you are using a event based plugin which would be in n time, but should leave a much less memory foot print.

It's a choice between space and speed.

note the reading about this from SAX's own page:

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜