org.xmlpull.v1.XmlPullParserException: unterminated entity ref (position:TEX

XML解析中出现需要转义的字符:
str = str.replace(“&”,”&”);
str = str.replace(“?”,”?”);
目前只发现这么多。。。。
每次错误记录下来,让自己以后不再犯同样的错误。

发布了367 篇原创文章 · 获赞 177 · 访问量 46万+
展开阅读全文

Android XmlPullParserException异常

10-17

谷歌发布说去除了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<NewInfo> 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<NewInfo> 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 </title>@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) 为何会这样的 该怎么解决呢? 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览