java中利用dom4j解析XML文件
官网下载Dom4j地址:https://dom4j.github.io/
注意:使用Dom4j开发,需下载dom4j相应的jar文件
题目:后台利用dom4j解析student.xml文件,并返回List<Student>集合
需要解析的XML:
<?xml version="1.0" encoding="UTF-8"?>
<classes>
<class name="ST01">
<student id="10001">user1</student>
<student id="10002">user2</student>
<student id="10003">user3</student>
</class>
<class name="ST02">
<student id="10004">user4</student>
<student id="10005">user5</student>
<student id="10006">user6</student>
</class>
<class name="ST03">
<student id="10007">user7</student>
<student id="10008">user8</student>
<student id="10009">user9</student>
</class>
<class name="ST04">
<student id="10010">user10</student>
<student id="10011">user12</student>
<student id="10012">user13</student>
</class>
<class name="ST05">
<student id="10013">user14</student>
<student id="10014">user15</student>
<student id="10015">user16</student>
</class>
</classes>
java解析xml代码:
/**
* @author hh
*/
public class XmlUtil {
/**
* 读取xml学生列表信息
* @return
*/
public List<Student> listStudent(){
//创建SAXReader对象
SAXReader reader=new SAXReader();
Document document = null;
try {
//通过read方法读取一个文件 转换成Document对象
document = reader.read(new File("/Users/mac/Documents/students.xml"));
} catch (DocumentException e) {
e.printStackTrace();
}
//获取根节点元素对象
Element node = document.getRootElement();
return elementMethod(node);
} /**
* 获取节点中的信息
* @param node
* @return
*/
private List<Student> elementMethod(Element node){
List<Student> list = new ArrayList<Student>();
//获取所有class 节点
List<Element> elementClass = node.elements("class");
for (Element aClass : elementClass) {
//获取所有student节点
List<Element> elelmentStu=aClass.elements("student");
for (Element element : elelmentStu) {
//创建学生对象
Student stu = new Student();
//class节点里name的值
stu.setSclazz(aClass.attribute("name").getValue());
//student节点里ID的值
stu.setSid(element.attribute("id").getValue());
//student节点里的String值
stu.setSname(element.getStringValue()); list.add(stu);
}
} return list;
}
}
实体类:
/**
* @author hh
*/
public class Student {
private String sname;
private String sid;
private String sclazz; public String getSname() {
return sname;
} public void setSname(String sname) {
this.sname = sname;
} public String getSid() {
return sid;
} public void setSid(String sid) {
this.sid = sid;
} public String getSclazz() {
return sclazz;
} public void setSclazz(String sclazz) {
this.sclazz = sclazz;
} @Override
public String toString() {
return "Student{" +
"sname='" + sname + '\'' +
", sid='" + sid + '\'' +
", sclazz='" + sclazz + '\'' +
'}';
}
}
@Test 代码:
public class StudentDaoTest {
@Test
public void testlistStudent(){
List<Student> list = new XmlUtil().listStudent();
for (Student student : list) {
System.out.println(student);
}
}
}
运行结果:

java中利用dom4j解析XML文件的更多相关文章
- java中采用dom4j解析xml文件
一.前言 在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式:但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4 ...
- 转:在java中使用dom4j解析xml
JAVA 使用Dom4j 解析XML Java DOM4J Parser - Parse XML Document Dom4j下载及使用Dom4j读写XML简介 在java中使用dom4j解析xml ...
- 在java项目中怎样利用Dom4j解析XML文件获取数据
在曾经的学习.net时常常会遇到利用配置文件来解决项目中一些须要常常变换的数据.比方数据库的连接字符串儿等.这个时候在读取配置文件的时候.我们一般会用到一个雷configuration,通过这个类来进 ...
- JAVA中使用DOM解析XML文件
XML是一种方便快捷高效的数据保存传输的格式,在JSON广泛使用之前,XML是服务器和客户端之间数据传输的主要方式.因此,需要使用各种方式,解析服务器传送过来的信息,以供使用者查看. JAVA作为一种 ...
- java代码用dom4j解析xml文件的简单操作
时间: 2016/02/17 目标:为telenor的ALU Femto接口写一个采集xml文件并解析出locationName标签里的值,然后更新到数据库中. 从网上搜了下,有四种常用的解析xml的 ...
- 在java中使用dom4j解析xml
创建xml文档并输出到文件 import java.io.File; import java.io.FileOutputStream; import org.dom4j.Document; impor ...
- Java中实现SAX解析xml文件到MySQL数据库
大致步骤: 1.Java bean 2.DBHelper.java 3.重写DefaultHandler中的方法:MyHander.java 4.循环写数据库:SAXParserDemo.java ① ...
- 【JAVA使用XPath、DOM4J解析XML文件,实现对XML文件的CRUD操作】
一.简介 1.使用XPath可以快速精确定位指定的节点,以实现对XML文件的CRUD操作. 2.去网上下载一个“XPath帮助文档”,以便于查看语法等详细信息,最好是那种有很多实例的那种. 3.学习X ...
- Java进阶(二十七)使用Dom4j解析XML文件
使用Dom4j解析XML文件 写在前面的话 由于论文实验要求,需要实现操作XML文档,为此想到了dom4j这个工具,使用之后深感受益.在此分享给大家,以此共勉. 注:本文转载自http://blog. ...
随机推荐
- 如何像Python高手(Pythonista)一样编程
最近在网上看到一篇介绍Pythonic编程的文章:Code Like a Pythonista: Idiomatic Python,其实作者在2006的PyCon会议后就写了这篇文章,写这篇文章的主要 ...
- 【ASP.NET MVC系列】浅谈ASP.NET MVC 路由
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
- laypage 物理分页与逻辑分页实例
前言 以下介绍摘自 layui官网laypage layPage 致力于提供极致的分页逻辑,既可轻松胜任异步分页,也可作为页面刷新式分页.自 layui 2.0 开始,无论是从核心代码还是API设计, ...
- 怎么将XML字符串转换为XmlDocument,并获取部分节点值
我们的目标:解析XML字符串,并获取节点:z:row下的属性:ows_LinkFilename的值集合??? XML字符串数据结构如下: <listitems xmlns:s='uuid:BDC ...
- Redis学习笔记(1)-安装Oracle VM VirtualBox
Oracle VM VirtualBox官网网址 打开安装包网址界面,如下所示,点击截图红框. 下载完成后,点击exe文件,不停的点击下一步. 因为是使用MarkDown编辑器书写的尝试,所以写的简单 ...
- [转]Laravel - Where null and Where not null eloquent query example
本文转自: https://hdtuto.com/article/laravel-where-null-and-where-not-null-eloquent-query-example- if yo ...
- 第一册:lesson thirty nine.
原文: Don't drop it! A:What are you going to do with that vase,Penny? B:I am going to put it on the ta ...
- 从零开始学安全(三)●黑客常用的windows端口
端口可选1-65536 1-1024 预保留端口 留给windows系统服务的 下面是常见的端口对应的服务 1 TCP Port Service Multiplexer 传输控制协议端口服务多路开关选 ...
- 使用NetDrive将虚拟机映射到本地磁盘,使用smba映射本地磁盘(替代FileZilla)
使用NetDrive映射到本地磁盘 使用NetDrive软件来替代FileZilla,NetDrive是一个能把FTP空间虚拟成本地硬盘的软件,这样我们就不需要再使用FileZilla来来回拷贝文件了 ...
- [leetcode](4.21)1. 有序数组中的缺失元素
给出一个有序数组 A,数组中的每个数字都是 独一无二的,找出从数组最左边开始的第 K 个缺失数字. 示例 1: 输入:A = [4,7,9,10], K = 1 输出:5 解释: 第一个缺失数字为 5 ...