XML jDOM解析XML文件
来源:互联网 发布:淘宝便宜又好看的店铺 编辑:程序博客网 时间:2024/04/26 07:47
jDOM解析XML文件
注:借助Student对象存储解析到的每个学生信息
一、需要导入的包
二、student.xml(解析的文件)
<?xml version="1.0" encoding="utf-8" ?><!--xml文档声明--><!--DTD约束--><!DOCTYPE class [ <!ELEMENT student (name,age,sex,height)> <!ELEMENT name (#PCDATA)> <!ELEMENT age (#PCDATA)> <!ELEMENT sex (#PCDATA)> <!ELEMENT height (#PCDATA)> ]><!--只能有一个根标签--><class> <!--设置属性--> <student id="1" user="lisi"> <name>李四</name> <age>18</age> <sex>男</sex> <height>182</height> </student> <student id="2" user="wangwu"> <name>王五</name> <age>19</age> <sex>男</sex> <height>172</height> </student></class>
三、解析代码
package com.xml.main;import org.jdom2.Attribute;import org.jdom2.Document;import org.jdom2.Element;import org.jdom2.JDOMException;import org.jdom2.input.SAXBuilder;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.List;public class JDOMParse { public static void main(String[] args) { try { ArrayList<Student> list = new ArrayList<>(); //步骤一:创建jDOM解析构造器 SAXBuilder saxBuilder = new SAXBuilder(); // 步骤二: 解析整个文档 Document document = saxBuilder.build(new File("student.xml")); //获取文档的根节点 Element rootElement = document.getRootElement(); // 获取元素节点的所有子元素节点 List<Element> children = rootElement.getChildren(); for (int i = 0; i < children.size(); i++) { Element element = children.get(i); Attribute id = element.getAttribute("id");//根据属性名获取属性节点 String idValue = id.getValue();//根据属性的值 Attribute user = element.getAttribute("user"); String userValue = user.getValue(); Element name = element.getChild("name");//获取元素下的指定元素名的子节点 String nameText = name.getText(); Element sex = element.getChild("sex"); String sexText = sex.getText(); Element height = element.getChild("height"); String heightText = height.getText(); Element age = element.getChild("age"); String ageText = age.getText(); list.add(new Student(Integer.parseInt(idValue), userValue, nameText, sexText, Integer.parseInt(ageText), Double.parseDouble(heightText))); } for (int i = 0; i < list.size(); i++) { Student student = list.get(i); System.out.println(student.toString()); } } catch (JDOMException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { } }}
四、Student.java
package com.xml.main;public class Student { private int id; private String user; private String name; private String sex; private int age; private double height; public Student() { } public Student(int id, String user, String name, String sex, int age, double height) { this.id = id; this.user = user; this.name = name; this.sex = sex; this.age = age; this.height = height; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUser() { return user; } public void setUser(String user) { this.user = user; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public double getHeight() { return height; } public void setHeight(double height) { this.height = height; } @Override public String toString() { return "Student{" + "id=" + id + ", user='" + user + '\'' + ", name='" + name + '\'' + ", sex='" + sex + '\'' + ", age=" + age + ", height=" + height + '}'; }}
五、解析结果
阅读全文
0 0
- JDom,jdom解析xml文件
- xml文件解析-JDOM
- JDOM解析XML文件
- JDOM解析XML文件
- Jdom解析xml文件
- jdom 解析xml文件
- jdom解析xml文件
- jdom 解析 xml文件
- JDOM解析XML文件!
- jdom解析xml文件
- JDOM解析XML文件
- JDOM 解析xml文件
- jdom 解析 xml 文件
- JDom解析xml文件
- JDom解析xml文件
- JDOM解析xml文件
- XML jDOM解析XML文件
- 使用JDOM解析XML文件(JDOM解析)
- C#字符串使用的一些小建议
- arena
- 304. Range Sum Query 2D
- 树在数据库中的应用
- Maven的常用命令
- XML jDOM解析XML文件
- spring boot log4j 配置
- Spring学习笔记(三)-----IOC之Annotation
- 磁盘快速转换格式小技巧
- 【自定义View】4.ViewPager卡片滑动效果
- BZOJ2721 樱花 [线性筛]
- Kylin工作原理
- Hadoop集群添加磁盘步骤
- 数组与矩阵---求最短通路值