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
    关注

    求帮顶 求解决 新人没悬赏

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘