Может ли SAX использовать XML-файл локального ресурса? - PullRequest
1 голос
/ 26 июля 2010

Все примеры 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?

1 Ответ

1 голос
/ 26 июля 2010

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

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

...