openRawResource NullPointerException - PullRequest
       7

openRawResource NullPointerException

0 голосов
/ 20 февраля 2012

Я пытаюсь разобрать xml и получаю NullPointerException, но я не могу понять, что я сделал не так:

    private Puzzle XMLfromFile(int xml) throws ParserConfigurationException, SAXException, IOException {

    SAXParserFactory spf= SAXParserFactory.newInstance();
    SAXParser sp = spf.newSAXParser();
    XMLReader xr = sp.getXMLReader();
    XMLHandler theHandler= new XMLHandler();
    xr.setContentHandler(theHandler);
    InputStream is = getResources().openRawResource(xml);
    xr.parse(new InputSource(is)); //this crashes the program with the null pointer

    return theHandler.currentPuzzle;
}

и вызывающий абонент:

try {
        thePuzzle=XMLfromFile(R.raw.puzzle1);
    } catch (ParserConfigurationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (SAXException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (NullPointerException e) {
        e.printStackTrace();
    }

Ответы [ 2 ]

0 голосов
/ 21 февраля 2012

Извините, мне нужно немного поспать за своими проблемами, я обнаружил, что фрагмент кода, который я удалил, заставляет мой обработчик выдавать проблему нулевого указателя.Спасибо и еще раз извините.

0 голосов
/ 20 февраля 2012

Вы передаете целое число в InputSource(). Вам потребуется получить весь XML-файл в виде строки (getString(int id)) или каким-либо другим способом получения файла.

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