2012-02-20 11 views
0

私はいくつかのXMLを解析しようとしていると私はNullPointerExceptionを取得していますが、私は私が間違っていたかを把握するように見えることはできません。openRawResource 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(); 
    } 

答えて

0

申し訳ありません私は少し頻繁に私の問題を眠る必要があります、私はコードスニペット私がnullポインタの問題をスローする原因私のハンドラーを削除したことがわかった。ありがとう、もう一度申し訳ありません。

0

整数をInputSource()に渡しています。 XMLファイル全体を文字列(getString(int id))、またはファイルを取得するその他の方法で取得する必要があります。

+0

実際にストリーム.openRawResource(xml)を通過すると、関連付けられているリソースのストリームデータとしてRAWリソースを開くことになっています。私は文字列を取得しようとしたが、それは入力ストリームに文字列を変換することはできません –

+0

正確にどこにNullPointerExceptionがスローされますです。スタックトレースを投稿できますか? –

関連する問題