当前位置: 代码迷 >> Android >> pull解析器的有关问题,system.out.println()也会报错
  详细解决方案

pull解析器的有关问题,system.out.println()也会报错

热度:39   发布时间:2016-05-01 10:50:48.0
pull解析器的问题,system.out.println()也会报错?
本帖最后由 qiaogn 于 2013-04-10 15:15:02 编辑
代码如下
 XmlPullParser pullParser=Xml.newPullParser();
 try {
   pullParser.setInput(bais ,"UTF-8");
   int eventCode=pullParser.getEventType();//读取文档的开始
     while(eventCode!=XmlPullParser.END_DOCUMENT)
 {
 switch(eventCode){
 case XmlPullParser.START_DOCUMENT:break;
 case XmlPullParser.START_TAG://判断是否为开始元素事件
if("string".equals(pullParser.getName()))
  { //判断开始元素是否为要关注的元素
 Values.add(pullParser.nextText());
      // System.out.print("pullParser.nextText()"+pullParser.nextText());
  } ;break;
 } eventCode= pullParser.next();//进入到下一个元素;' } }
catch (XmlPullParserException e)  {}
return Values;

注释红色打印,数据正常显示;为啥加上这句就会只解析一条xml信息。logcat异常:
org.xmlpull.v1.XmlPullParserException: Not on start tag
按说system.out不会影响程序吧!!请大家帮忙解解惑,谢了
system.out pull解析器

------解决方案--------------------
问题在红色语句中的pullParser.nextText()
此时解析器的状态已经发生了改变。。。。
可在以Values.add(pullParser.nextText());之前保存一下查到的值,然后保存和打印时只访问保存好的字符串就好了。
------解决方案--------------------
因为你又next了一个
  相关解决方案