JDOM解析
来源:互联网 发布:怎么学java编程基础 编辑:程序博客网 时间:2024/06/17 02:43
<?xml version="1.0" encoding="UTF-8"?><students> <student name="长泽雅美" height="170cm" weight="50kg"> <grade id="001">二年级</grade> <number score="80">1</number> </student> <student name="李四" height="170cm" weight="50kg"> <grade id="002">二年级</grade> <number score="88">2</number> </student> <student name="堀北真希" height="170cm" weight="50kg"> <grade id="005"/> <number score="99"/> </student> </students>
package com.betasoft.util;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;import org.jdom2.Attribute;import org.jdom2.Document;import org.jdom2.Element;import org.jdom2.JDOMException;import org.jdom2.input.SAXBuilder;import com.betasoft.entity.Student;public class JDOMParse {private static List<Student> list = new ArrayList<>();public static void main(String[] args) {//进行对student.xml文件的JDOM解析//准备工作//1.创建一个SAXBuilder的对象SAXBuilder saxBuilder = new SAXBuilder();//创建一个输入流,将XML文件加载到输入流中InputStream in;try {in = new FileInputStream("src/file/student.xml");//通过SAXBuilder的build方法,将输入流加载到saxBuilder中InputStreamReader isr = new InputStreamReader(in,"UTF-8");Document document = saxBuilder.build(isr);//通过Document对象获取获取XML文件的根节点Element rootElement = document.getRootElement();//获取根节点下的子节点的List集合List<Element> studentList = rootElement.getChildren();//继续进行解析for(Element student : studentList){Student stu = new Student();System.out.println("开始解析第" + (studentList.indexOf(student)+1) + "书");//解析student属性List<Attribute> attrList = student.getAttributes();//知道节点名称时,获取节点值//student.getAttributeValue("");//遍历attrList(针对不清楚student节点下属性的名字及数量)for(Attribute attr : attrList){//获取属性名String name = attr.getName();//获取属性值String value = attr.getValue();System.out.println("属性名:"+name+"属性值"+value);if(name.equals("name")){stu.setName(value);}else if(name.equals("height")){stu.setHeight(value);}else if(name.equals("weight")){stu.setWeight(value);}}//对student节点的子节点的节点名以及节点值的遍历List<Element> bookChilds = student.getChildren();for(Element child : bookChilds){System.out.println("节点名" + child.getName() + "------节点值" + child.getValue());if(child.getName().equals("grade")){stu.setGrade(child.getValue());}else if(child.getName().equals("number")){stu.setNumber(child.getValue());}}System.out.println("结束解析第" + (studentList.indexOf(student)+1) + "书");list.add(stu);stu = null;System.out.println(list.size());System.out.println(list.get(0).getName());}} catch (FileNotFoundException e) {e.printStackTrace();} catch (JDOMException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}
阅读全文
0 0
- jdom 解析
- JDom解析
- JDOM解析
- JDOM解析
- jdom 解析
- JDOM解析
- JDom,jdom解析xml文件
- 使用JDOM解析XML文件(JDOM解析)
- 使用Jdom解析XML
- JDOM 与XML解析
- 解析xml之--JDOM
- xml文件解析-JDOM
- 使用JDOM解析XML
- 使用JDOM解析XML
- jdom解析xml文档
- 使用jdom解析xml
- JDOM解析XML文件
- 使用JDOM解析XML
- Caffe学习:Forward and Backward
- JavaScript实现十种经典排序算法(js排序算法)
- Android四大组件--Activity详解(二)
- 如何制作9妹图
- 查看网络图片功能
- JDOM解析
- Android
- 第十六周:( LeetCode606) Construct String from Binary Tree(c++)
- centos6/7 装 ant
- 轮播图插件swiper
- liunx 环境下安装JDK1.8
- 正则表达式手记
- 数据库期末复习(6-9章)
- ecshop首页分类树广告设置