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); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现