代码如下
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了一个