主题 : 求教!pull解析xml时eventType = parser.next()无效 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 112890
精华: 0
发帖: 1
金钱: 5 两
威望: 1 点
综合积分: 2 分
注册时间: 2015-02-12
最后登录: 2015-03-13
楼主  发表于: 2015-02-13 15:52

 求教!pull解析xml时eventType = parser.next()无效

代码很短如下:
public String gettext(InputStream input)
    {
        String kk="null";
        try {
            XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
            // 获取一个解析实例
            XmlPullParser parser = factory.newPullParser();
            parser.setInput(input, "UTF-8");
            int eventType =parser.getEventType();
            while (eventType != XmlPullParser.END_DOCUMENT)
            {
                switch (eventType)
                {
                    case XmlPullParser.START_DOCUMENT://这句能正常解析,说明已经得到文件开头了啊,怎么以后的标签会得不到
                        kk="lihongyipp";
                        break;
                    case XmlPullParser.START_TAG:
                            kk="lihongyi";
                        break;
                }
                eventType = parser.next();//一到这里while就不继续执行,也不报错,程序输出lihongyipp
                Toast toast = Toast.makeText(this,"下一个",Toast.LENGTH_SHORT);
                toast.show();
            }
}catch(XmlPullParserException e) {
            e.printStackTrace();
        }
        catch(IOException e){
            e.printStackTrace();
        }
        catch(Exception e){
            e.printStackTrace();
        }
        return kk;
    }
}

xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<resources><book>lihongyi</book></resources>

求解怎么回事?谢谢!