Синтаксический анализ Java / Android вызывает исключение NullPointerException - PullRequest
0 голосов
/ 01 июня 2011

У меня проблема с анализом XML-файла на Android.

Мой файл examples.xml выглядит так:

<categories>
    <example>something</example>
</categories>

И мой код Java:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(getResources().openRawResource(R.xml.examples));
doc.getDocumentElement().normalize(); //here it throws NullPointerException

Выдает исключение NullPointerException, когда я пытаюсь нормализовать ().

Я вдохновлен этим простым уроком http://sanjaal.com/java/tag/getdocumentelementnormalize/

Может кто-нибудь сказать мне, что я делаю не так? Спасибо

Ответы [ 3 ]

2 голосов
/ 01 июня 2011

Попробуйте переместить xml-файл в папку res/raw, а затем попробуйте следующее:

Document doc = db.parse(getResources().openRawResource(R.raw.examples));

Дайте мне знать, если это работает.

РЕДАКТИРОВАТЬ: если вы посмотрите на http://developer.android.com/reference/android/content/res/Resources.html#openRawResource%28int%29, то в основном говорится, что вы можете использовать его только для рисованных, звуковых и сырых ресурсов.

0 голосов
/ 01 июня 2011

Попробуйте Project | Clean - он может не получать необработанный XML из ваших ресурсов. В этом случае Eclipse кажется немного ненадежным, я иногда меняю код, и он не воспринимает изменения, пока не будет очищен.

0 голосов
/ 01 июня 2011

Попробуйте XmlPullParser. Я думаю, это немного проще.

XmlPullParser | Разработчики Android

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...