XmlPullParser 解析不到END_DOCUMENT,XmlPullParserException: Unexpected token (position:TEXT
2015-04-19 10:59
1046 查看
最近遇到一个坑,我在网上找了一段代码来解析XML,片段如下:
但调试时发现程序怎么在解析到XML文件末尾,调用XmlPullParser.next()函数时,会报
int eventType = xpp.getEventType(); while (eventType != XmlPullParser.END_DOCUMENT) { if(eventType == XmlPullParser.START_DOCUMENT) { System.out.println("Start document"); } else if(eventType == XmlPullParser.END_DOCUMENT) { System.out.println("End document"); } else if(eventType == XmlPullParser.START_TAG) { System.out.println("Start tag "+xpp.getName()); } else if(eventType == XmlPullParser.END_TAG) { System.out.println("End tag "+xpp.getName()); } else if(eventType == XmlPullParser.TEXT) { System.out.println("Text "+xpp.getText()); } eventType = xpp.next(); }
但调试时发现程序怎么在解析到XML文件末尾,调用XmlPullParser.next()函数时,会报
Android-org.xmlpull.v1.XmlPullParserException:
Unexpected token (position:TEXT的错误,原因是在文件末尾,next()函数没有返回END_DOCUMET,故Parser会一直解析下去而报错。解决方案是在While循环的判断条件加上到达xml文件末尾的判断,代码如下:
final int depth = parser.getDepth(); int type = parser.next(); while ((type != XmlPullParser.END_TAG || parser .getDepth() > depth) && type != XmlPullParser.END_DOCUMENT) { ...//next }
相关文章推荐
- XmlPullParserException: Unexpected token (position:TEXT @1:2 in java.io.StringReader)
- 在进行xml解析时,出现XmlPullParserException:Unexpected token(position:unknown @2:1错误
- XmlPullParser.nextText() bug 好文章,使用pull解析xml注意
- Android解决异常org.xml.sax.SAXParseException: Unexpected end of document
- XmlPullParser.nextText() bug 好文章,使用pull解析xml注意
- xml解析--XmlPullParserException
- 解析XML:xmlPullParser
- 使用XmlPullParser解析xml文件
- XmlPullParser解析xml
- Android_XmlPullParser解析xml文件_141014
- SAX PULL DOCUMENT解析XML总结
- 解析xml时,报错:org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 4:not well-formed(invaild toke)
- android xml解析 XmlPullParser的使用
- Json和xmlpullparser解析的联系和区别
- android xml解析之XmlPullParser
- android使用XmlPullParser来解析XML文件
- 利用Pull解析xml时,总抛出这个异常:Error parsing document的解决方案
- Android网络编程之三:XmlPullParser解析Xml文件
- android 使用pull解析遇到异常问题at org.xmlpull.v1.XmlPullParserException: Unexpected token (position:TEXT ???@
- Android 使用XmlPullParser解析xml