xiaoshidetaikuai20 2015-10-17 17:08 采纳率: 20%
浏览 4543

Android XmlPullParserException异常

谷歌发布说去除了HttpClient方法今天用HTTPUrlConnection写了个解析xml文件的
程序然后出错了求各位大神们帮忙
这是我的代码
private void init() {
listView= (ListView) findViewById(R.id.list_text);
new Thread(new Runnable() {
@Override
public void run() {
getNewsInternet();
}
}).start();
}
//返回新闻信息
private List getNewsInternet(){
// //url:http://10.0.2.2:8080/NetEaseServer/new.xml
try {
URL url =new URL("http://10.0.2.2:8080/NetEaseServer/new.xml");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(1000);
conn.setReadTimeout(500);
conn.connect();
int responseCode = conn.getResponseCode();
if(responseCode==200){
InputStream is = conn.getInputStream();
List listXml =getXML(is);
Log.i(TAG,listXml.get(0).toString());
}
} catch (Exception e) {
e.printStackTrace();
}

    return  null;
}
    private List<NewInfo> getXML(InputStream is) throws XmlPullParserException, IOException {
    XmlPullParser paser = Xml.newPullParser();//xml  pull解析器
    paser.setInput(is,"UTF-8");//设置流格式
    int evenType = paser.getEventType();
    Log.i(TAG,"文件的事件"+evenType);
    List<NewInfo> newInfoList=null;
    NewInfo newInfo= null;
    while (evenType!=XmlPullParser.END_DOCUMENT){//如果没到结束就一直循环
        String tagName=paser.getName();//获得节点名称
        Log.i(TAG,"节点名称"+tagName);
        switch (evenType){
            case XmlPullParser.START_TAG:  //<news>
                if("news".equals(tagName)){
                    newInfoList= new ArrayList<NewInfo>() ;
                }else if("new".equals(tagName)){
                    newInfo = new NewInfo();
                }else if("title".equals(tagName)){
                     newInfo.setTitle(paser.nextText());//讲title的内容放进newinfo对象中
                    Log.i(TAG,"文件的标题"+paser.nextText());
                }else if("detail".equals(tagName)){
                     newInfo.setDetail(paser.nextText());//讲detaile的内容放进去
                }else if("comment".equals(tagName)){
                     newInfo.setComment(Integer.parseInt(paser.nextText()));//《commet》
                }else if("image".equals(tagName)){
                    newInfo.setImageUrl(paser.nextText());//《图片》
                }
                break;
            case XmlPullParser.END_TAG:
                if("news".equals(tagName)){
                    newInfoList.add(newInfo);
                }
                break;
            default:
                break;
        }
        evenType=paser.next();//取下一个时间的类型

    }
    return newInfoList;
}
    Logcat的信息
    -12865/? I/MainActivity﹕ 文件的事件0

10-17 12:56:10.387 12852-12865/? I/MainActivity﹕ 节点名称null
10-17 12:56:10.427 12852-12865/? I/MainActivity﹕ 节点名称news
10-17 12:56:10.457 12852-12865/? I/MainActivity﹕ 节点名称null
10-17 12:56:10.467 12852-12865/? I/MainActivity﹕ 节点名称new
10-17 12:56:10.497 12852-12865/? I/MainActivity﹕ 节点名称null
10-17 12:56:10.497 12852-12865/? I/MainActivity﹕ 节点名称title
10-17 12:56:10.577 12852-12865/? W/System.err﹕ org.xmlpull.v1.XmlPullParserException: precondition: START_TAG (position:END_TAG @4:34 in java.io.InputStreamReader@4173a850)
10-17 12:56:10.607 12852-12865/? W/System.err﹕ at org.kxml2.io.KXmlParser.nextText(KXmlParser.java:2053)
10-17 12:56:10.637 12852-12865/? W/System.err﹕ at activity.cn.com.wangyinews3.MainActivity.getXML(MainActivity.java:100)
10-17 12:56:10.637 12852-12865/? W/System.err﹕ at activity.cn.com.wangyinews3.MainActivity.getNewsInternet(MainActivity.java:58)
10-17 12:56:10.668 12852-12865/? W/System.err﹕ at activity.cn.com.wangyinews3.MainActivity.access$000(MainActivity.java:26)
10-17 12:56:10.668 12852-12865/? W/System.err﹕ at activity.cn.com.wangyinews3.MainActivity$1.run(MainActivity.java:41)
10-17 12:56:10.697 12852-12865/? W/System.err﹕ at java.lang.Thread.run(Thread.java:841)
为何会这样的 该怎么解决呢?

  • 写回答

5条回答 默认 最新

  • xiaoshidetaikuai20 2015-10-17 17:09
    关注

    求帮顶 求解决 新人没悬赏

    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站