0
誰でもこのエラーを理解できますか?私はXMLファイルを解析して内容を取得しようとします。しかし、毎回私はこのエラーが発生します。似たようなエラーを持つ人がたくさんいますが、まだ何も私を助けませんでした。Android - nullのオブジェクト参照、RSSファイルの解析
08-17 10:34:18.589 25213-25567/com.example.entwicklung1.designtestapp E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #2
Process: com.example.entwicklung1.designtestapp, PID: 25213
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:309)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'org.w3c.dom.NodeList org.w3c.dom.Node.getChildNodes()' on a null object reference
at com.example.entwicklung1.designtestapp.ReadRssZander.ProcessXml(ReadRssZander.java:66)
at com.example.entwicklung1.designtestapp.ReadRssZander.doInBackground(ReadRssZander.java:58)
at com.example.entwicklung1.designtestapp.ReadRssZander.doInBackground(ReadRssZander.java:29)
at android.os.AsyncTask$2.call(AsyncTask.java:295)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
ここは私のコードの一部です。私は「アイテム」の子アイテムを探すことさえできません。私はすでにここでエラーが出ます:NodeList items = channel.getChildNodes();
@Override
protected Void doInBackground(Void... params) {
ProcessXml(Getdata());
return null;
}
private void ProcessXml(Document data) {
if(data!=null) {
Element root = data.getDocumentElement();
Node channel = root.getChildNodes().item(1);
NodeList items = channel.getChildNodes();
//for(int i=0;i<items.getLength();i++){
// Node currentchild = items.item(i);
// Log.d("textcontent",currentchild.getTextContent());
// if(currentchild.getNodeName().equalsIgnoreCase("item")){
// NodeList itemchilds=currentchild.getChildNodes();
// for(int j=0;j<itemchilds.getLength();j++){
// Node current= itemchilds.item(j);
// Log.d("textcontent",current.getTextContent());
// }
// }
//}
}
}
public Document Getdata(){
try {
url = new URL(adress);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
InputStream inputStrem = connection.getInputStream();
DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=builderFactory.newDocumentBuilder();
Document xmlDoc =builder.parse(inputStrem);
return xmlDoc;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
これは、XMLファイルをイスト、私が解析してみてください:Link
あなたも、文書の内容を投稿することができます。 –
@KossあなたのXMLデータをpoatできますか? –
XMLファイルのリンクを追加しました。 – Koss