【person.xml】要解析的内容

<?xml version="1.0" encoding="UTF-8"?>
<students>
<student id="88888" phone="15888888888" sex="男">
<name>张三</name>
<age>18</age>
<school>清华</school>
</student>
<student id="99999" phone="15999999999" sex="女">
<name>李四</name>
<age>28</age>
<school>北大</school>
</student>
<AAAA>
<aa1>aa111</aa1>
<aa2>aa222</aa2>
</AAAA>
<BBBB></BBBB>
</students>

【Student.java】xml信息所要封装的Studnet对象

package com.Higgin.parse;

public class Student {
private String id;
private String phone;
private String sex;
private String name;
private String age;
private String school; //忽略get/set方法
@Override
public String toString() {
return "Student [id=" + id + ", phone=" + phone + ", sex=" + sex
+ ", name=" + name + ", age=" + age + ", school=" + school
+ "]";
}
}

【DemoStudent.java】将xml信息封装到Student对象

package com.Higgin.parse;

import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader; //解析person.xml中student数据,持久化到Student对象中
public class DemoStudent { public static void main(String[] args) throws DocumentException {
List<Student> list=new ArrayList<>(); //读取xml,封装对象
SAXReader saxReader =new SAXReader();
Document doc=saxReader.read(new File("./src/person.xml")); //读取Iterator标签
Iterator<Element> it=doc.getRootElement().elementIterator("student");
while(it.hasNext()){
Element elem=it.next();
Student student=new Student();
student.setId(elem.attributeValue("id")); //读取属性
student.setPhone(elem.attributeValue("phone"));
student.setSex(elem.attributeValue("sex"));
student.setName(elem.elementText("name")); //读取文本
student.setAge(elem.elementText("age"));
student.setSchool(elem.elementText("school"));
list.add(student);
} for(Student student : list){
System.out.println(student.toString());
}
} }

【运行结果】

解析XML并将信息封装到对象中的更多相关文章

  1. 05_XML的解析_02_dom4j 解析将信息封装到对象中

    [person.xml]要解析的内容 <?xml version="1.0" encoding="UTF-8"?> <students> ...

  2. 通过反射将request中的参数封装到对象中

    import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import java.text.SimpleDateFo ...

  3. 使用dom4j解析xml文件,并封装为javabean对象

    dom4j是一个java的XML api,性能优异.功能强大.易于使用.这里使用dom4j对xml文件进行解析,并完成对文件的封装. 实现对xml文件的解析,主要使用到的是dom4j中的SAXRead ...

  4. 解析XML出错,无法创建DOMDocument对象

    [问题] 加载XML配置文件时,创建DOMDocument对象总是失败,创建代码如下: MSXML2::IXMLDOMDocumentPtr pXMLDoc; MSXML2::IXMLDOMEleme ...

  5. sax解析xml文件,封装到对象中

    创建User.java类 public class User { private String id; private String name; private String age; private ...

  6. SQL 里解析 XML 格式 字段 信息

    DECLARE @ItemMessage XML ),zje ),yfje ),bcje ),URL ),Remark )) SET @ItemMessage=N'<List> <i ...

  7. dom4j解析xml的增加信息

    想要在xml中增加信息,那么就要先找到你要加信息的节点 前三行是固定模式,主要是找到xml文件的地址,并且得到根节点,再从根节点中便利出来movie的所有节点之后用集合接收 SAXReader rea ...

  8. XML解析---利用XStream解析xml数据及反构造Java对象

    XStream 是一个轻量级的.简单易用的开放源代码 Java库,用于将 Java 对象序列化为 XML 或者再转换回来.而且XStream还能将java对象转成其它格式,比如JSon. 需要用到的包 ...

  9. Java读取Txt封装到对象中——(三)

    JavaBean package bean; public class Question { private String timu; //题干 private String leixing; //类 ...

随机推荐

  1. RMQ_第一弹_Sparse Table

    title: RMQ_第一弹_Sparse Table date: 2018-09-21 21:33:45 tags: acm RMQ ST dp 数据结构 算法 categories: ACM 概述 ...

  2. SERVLET API中forward()与redirect()的区别?

    前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址:后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接.这样,从浏览器的地址栏中可以看到跳转后的链接地址.所以,前者 ...

  3. 课下测试ch17&ch18

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

  4. 1 Scala基本概念 +IDE

    Scala基本概念 +IDE 推荐:<Scala编程> 1 基本概念 在Spark开发中,Scala被认为是目前和Spark兼容最好的语言. Scala运行在标准的java平台,可以与ja ...

  5. php curl 发送get和post请求示例

    <?php final class HttpClient { const TIME_OUT = 10; static function get($url) { $ch = curl_init() ...

  6. Codeforces Round #354 (Div. 2) D. Theseus and labyrinth bfs

    D. Theseus and labyrinth 题目连接: http://www.codeforces.com/contest/676/problem/D Description Theseus h ...

  7. Codeforces Round #295 (Div. 2)B - Two Buttons BFS

    B. Two Buttons time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  8. JVM监控启动参数

    服务端: JVM监控启动参数 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=52001 -Dcom.sun.ma ...

  9. xvcd – The Xilinx Virtual Cable Daemon

    http://debugmo.de/2012/02/xvcd-the-xilinx-virtual-cable-daemon/ I recently discovered an almost undo ...

  10. Android音效SoundPool问题:soundpool 1 not retry

    Android音效SoundPool问题:soundpool 1 not retry 今天开发中要用到SoundPool,遇到soundpool 1 not retry无法播放声音,MediaPlay ...