Android: зачем использовать XMLReader? - PullRequest
5 голосов
/ 19 апреля 2011

Есть ли причина, по которой мне следует использовать XMLReader с SAXParser?Я часто вижу подобные случаи:

        sp = spf.newSAXParser();
        XMLReader xr = sp.getXMLReader();
        LoginContentHandler uch = new LoginContentHandler();
        xr.setContentHandler(uch);
        xr.parse(new InputSource(in));

Я всегда использую парсер таким образом:

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

По какой-то конкретной причине?Просто интересно, потому что мой путь короче, и я действительно не понимаю, почему я должен использовать XMLReader.

1 Ответ

5 голосов
/ 23 апреля 2011

так, чтобы ответить на вопрос.

Люди, использующие XMLReader, предполагают, что достаточно памяти, чтобы сохранить файл как древовидный объект и иметь возможность просматривать его во время Log (n) для поиска.

С другой стороны, использование SAX Straight означает, что вы используете плагин, основанный на событиях, который был бы в n раз, но оставлял бы гораздо меньше отпечатка памяти.

Это выбор между пространством и скоростью.

обратите внимание на прочтение этого на собственной странице SAX:

...