Все примеры android для XmlPullParser извлекаются из локального файла ресурсов, и все примеры SAX вытаскивают XML из URL-адреса. Мне сказали, что SAX работает быстрее, поэтому я пытаюсь использовать это для извлечения данных из локального файла ресурсов (res/xml/thefile.xml)
Пример кода, над которым я работаю, здесь. Поэтому в этом примере код, который я хочу изменить, следующий:
URL url = new URL("http://example.com/example.xml");
...
xr.parse(new InputSource(url.openStream()));
Вместо использования URL
, я хочу использовать getXml(R.xml.thefile)
Возможно ли это, или SAX необходимо получить данные из URL?
В SaxParser есть функция parse, которая принимает обработчик Файла. Кроме того, есть один, который принимает InputStream, поэтому вы должны иметь возможность использовать любой источник данных, который вам нравится.
Эта статья статьи о работе с XML может быть вам полезна. Его правда, что, как правило, парсер SAX быстрее для больших наборов данных, однако с ним также труднее работать, поэтому вы можете захотеть сравнить размер вашего набора данных со сложностью анализатора при определении того, какой тип использовать.