XmlPull

复制代码
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
// 创建解析器。
XmlPullParser parser = factory.newPullParser();
//FileInputStream fis = new FileInputStream("f:\\students.xml");
parser.setInput(new FileReader("f:\\students.xml"));
int type = parser.getEventType();// 得到事件常量。
System.out.println(type);
String tag;
List<Student> list = null;
Student stu = null;
while (type != XmlPullParser.END_DOCUMENT) {
    // 得到标记名称。
    tag = parser.getName();
    switch (type) {
    case XmlPullParser.START_DOCUMENT:
        System.out.println("文档开始解析");
        list = new ArrayList<Student>();

        break;
    case XmlPullParser.START_TAG:// 开始标记
        if ("student".equals(tag)) {
            stu = new Student();
            //查看开始标记的属性名称和属性值。再进行判断。
            /*
            for(int i=0;i<parser.getAttributeCount();i++){
            String name = parser.getAttributeName(i);
            String value = parser.getAttributeValue(i);
            //再进行判断。
            }*/
        } else if ("id".equals(tag)) {
            // 得到标记之间的内容。
            String str = parser.nextText();
            System.out.println(tag + ":" + str);
            stu.id = Integer.parseInt(str);
        } else if ("name".equals(tag)) {
            stu.name = parser.nextText();
        } else if ("age".equals(tag)) {
            String str = parser.nextText();
            System.out.println(tag + ":" + str);
            stu.age = Integer.parseInt(str);
        }
        break;
    case XmlPullParser.END_TAG:// 结束标记
        if ("student".equals(tag)) {
            list.add(stu);
        }
        break;
    default:
        break;
    }
    //跳到下一个标记,得到事件常量。
    type = parser.next();
}
//遍历集合
for(Student s:list){
    System.out.println(s);
}
复制代码

 

posted @   嘉禾世兴  阅读(209)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示