Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 蜂窝状XML解析错误_Java_Android_Xml Parsing_Android 3.0 Honeycomb_Stringbuilder - Fatal编程技术网

Java 蜂窝状XML解析错误

Java 蜂窝状XML解析错误,java,android,xml-parsing,android-3.0-honeycomb,stringbuilder,Java,Android,Xml Parsing,Android 3.0 Honeycomb,Stringbuilder,我有一个XML文件正在被DocumentBuilder解析,它可以在手机上正确解析,但平板电脑会抛出一个异常。我一直在阅读,有人建议使用AsyncTask,我已经实现了它,但它仍然没有解析。有没有人知道这个问题,或者需要做些什么来解决它。下面是我的代码 异步任务 @Override protected void onCreate(Bundle savedInstanceState) { DownloadWebPageTask task = new DownloadWebPageTask(); t

我有一个XML文件正在被DocumentBuilder解析,它可以在手机上正确解析,但平板电脑会抛出一个异常。我一直在阅读,有人建议使用AsyncTask,我已经实现了它,但它仍然没有解析。有没有人知道这个问题,或者需要做些什么来解决它。下面是我的代码

异步任务

@Override
protected void onCreate(Bundle savedInstanceState) {
DownloadWebPageTask task = new DownloadWebPageTask();
task.execute(new String[] { "url" });
}
 private class DownloadWebPageTask extends AsyncTask<String, Void, String> {
    @Override
    protected String doInBackground(String... urls) {
        //String response = "";
        for (String url : urls) {
            HttpClient httpclient = new DefaultHttpClient();
            HttpGet httpget = new HttpGet(url);

            HttpResponse responseGet = null;
            try {
                responseGet = httpclient.execute(httpget);
                final int status = responseGet.getStatusLine().getStatusCode();
                if (status != HttpStatus.SC_OK) {
                    // give message
                //  Log.i("Error", "No Connection");
                }
            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                  e.printStackTrace();
                  //Log.i("caught error","ClientException");
            } catch (IOException e) {
                // TODO Auto-generated catch block
                  e.printStackTrace();
                //  Log.i("caught error","IOException");
            }
            //String responseBody = null;
            try {
                responseBody = EntityUtils.toString(responseGet.getEntity());
            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                  e.printStackTrace();
                //  Log.i("caught error","ClientException");
            } catch (IOException e) {
                // TODO Auto-generated catch block
                  e.printStackTrace();
                //  Log.i("caught error","IOException");
            }
        }

        return responseBody;
        }
这是我的堆栈跟踪结果:

  01-31 09:50:07.541: W/System.err(21462): java.lang.NullPointerException
  01-31 09:50:07.541: W/System.err(21462):  at com.mlgw.map.MainActivity2$DownloadWebPageTask.onPostExecute(MainActivity2.java:381)
  01-31 09:50:07.541: W/System.err(21462):  at com.mlgw.map.MainActivity2$DownloadWebPageTask.onPostExecute(MainActivity2.java:1)
  01-31 09:50:07.541: W/System.err(21462):  at android.os.AsyncTask.finish(AsyncTask.java:590)
  01-31 09:50:07.541: W/System.err(21462):  at android.os.AsyncTask.access$600(AsyncTask.java:149)
  01-31 09:50:07.541: W/System.err(21462):  at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:603)
  01-31 09:50:07.541: W/System.err(21462):  at android.os.Handler.dispatchMessage(Handler.java:99)
  01-31 09:50:07.541: W/System.err(21462):  at android.os.Looper.loop(Looper.java:132)
  01-31 09:50:07.541: W/System.err(21462):  at android.app.ActivityThread.main(ActivityThread.java:4129)
  01-31 09:50:07.551: W/System.err(21462):  at java.lang.reflect.Method.invokeNative(Native Method)
  01-31 09:50:07.551: W/System.err(21462):  at java.lang.reflect.Method.invoke(Method.java:491)
  01-31 09:50:07.551: W/System.err(21462):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:855)
  01-31 09:50:07.551: W/System.err(21462):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:613)
  01-31 09:50:07.551: W/System.err(21462):  at dalvik.system.NativeStart.main(Native Method)
看起来发生在381行,这是我的坐标,它在手机上工作正常,但在平板电脑上得到空值


如果您对需要添加或更改的内容有任何建议,我们将不胜感激。

我找到了问题的解决方案。我基本上必须重做存储数据的循环。不知道为什么原来的方式适用于手机而不是平板电脑。

Node Node=ProfileNode.itemgd

NodeList NodeList=node.getChildNodes


字符串名称=节点nodeList.item0.getNodeValue

MainActivity2.java:381,381的哪一行?对不起,381行是Element nameE=Element nameL.item0;nameL=nameE.getChildNodes;代码的一部分,所以这里的nameL似乎是空的。是否已检查此fstElement.getElementsByTagNamecoords;返回空值?@是的,它返回空值,但仅适用于平板电脑,在手机上按计划工作。
   <Section>
    <custcount>3</custcount>
    <location>
       <coords>35.25010,-90.08342</coords>
       <coords>35.29177,-90.08342</coords>
       <coords>35.29177,-90.04175</coords>
       <coords>35.25010,-90.04175</coords>
       <coords>35.25010,-90.08342</coords>
   </location>
 </Section>
<Section>
    <custcount>3</custcount>
    <location>
       <coords>35.25040,-90.08342</coords>
       <coords>35.29477,-90.08342</coords>
       <coords>35.29477,-90.04173</coords>
       <coords>35.25010,-90.04175</coords>
       <coords>35.25010,-90.08342</coords>
   </location>
 </Section>                 
  01-31 09:50:07.541: W/System.err(21462): java.lang.NullPointerException
  01-31 09:50:07.541: W/System.err(21462):  at com.mlgw.map.MainActivity2$DownloadWebPageTask.onPostExecute(MainActivity2.java:381)
  01-31 09:50:07.541: W/System.err(21462):  at com.mlgw.map.MainActivity2$DownloadWebPageTask.onPostExecute(MainActivity2.java:1)
  01-31 09:50:07.541: W/System.err(21462):  at android.os.AsyncTask.finish(AsyncTask.java:590)
  01-31 09:50:07.541: W/System.err(21462):  at android.os.AsyncTask.access$600(AsyncTask.java:149)
  01-31 09:50:07.541: W/System.err(21462):  at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:603)
  01-31 09:50:07.541: W/System.err(21462):  at android.os.Handler.dispatchMessage(Handler.java:99)
  01-31 09:50:07.541: W/System.err(21462):  at android.os.Looper.loop(Looper.java:132)
  01-31 09:50:07.541: W/System.err(21462):  at android.app.ActivityThread.main(ActivityThread.java:4129)
  01-31 09:50:07.551: W/System.err(21462):  at java.lang.reflect.Method.invokeNative(Native Method)
  01-31 09:50:07.551: W/System.err(21462):  at java.lang.reflect.Method.invoke(Method.java:491)
  01-31 09:50:07.551: W/System.err(21462):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:855)
  01-31 09:50:07.551: W/System.err(21462):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:613)
  01-31 09:50:07.551: W/System.err(21462):  at dalvik.system.NativeStart.main(Native Method)