2010-07-26 1 views
1

Все примеры android для XmlPullParser извлекаются из локального файла ресурсов, и все примеры SAX извлекают XML из URL. Мне сказали, что SAX работает быстрее, поэтому я пытаюсь использовать это для извлечения данных из локального файла ресурсов (res/xml/thefile.xml)Может ли SAX использовать XML-файл локального ресурса?

Код примера, с которого я работаю, равен here. Таким образом, в этом примере, код, который я хочу изменить это:

URL url = new URL("http://example.com/example.xml"); 
... 
xr.parse(new InputSource(url.openStream())); 

Вместо использования URL, я хочу использовать getXml(R.xml.thefile) Это возможно, или же SAX необходимо получить данные из URL?

ответ

1

SaxParser имеет функцию parse, которая принимает обработчик файла. Кроме того, есть тот, который принимает InputStream, поэтому вы должны иметь возможность использовать любой источник данных, который вам нравится.

Этот article при работе с XML может быть вам полезен. Его правда, что, как правило, парсер SAX быстрее для больших наборов данных, однако с ним также труднее работать, поэтому вы можете захотеть сравнить размер вашего набора данных со сложностью анализатора при определении того, какой тип использовать.

+0

Вы получаете галочку для первой части своего ответа. Но вы получите улыбку для второй части. Я использую XMLPullParser, и все движется прямо. Благодаря :-) – Bromide