一般对于开发人员拿到的xml文件都是配置文件,所以对于我们来说,最主要要做的事情是将xml的内容封装成对象。

下面展示代码

package javaDom4j;

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; class student {
private String id;
private String Snumber;
private String name;
private String className;
private String sex;
private String level;
private String contactMethod;
// private String skill;
private String codeLanguage;
private String career;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getSnumber() {
return Snumber;
}
public void setSnumber(String snumber) {
Snumber = snumber;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
public String getContactMethod() {
return contactMethod;
}
public void setContactMethod(String contactMethod) {
this.contactMethod = contactMethod;
}
// public String getSkill() {
// return skill;
// }
// public void setSkill(String skill) {
// this.skill = skill;
// }
public String getCodeLanguage() {
return codeLanguage;
}
public void setCodeLanguage(String codeLanguage) {
this.codeLanguage = codeLanguage;
}
public String getCareer() {
return career;
}
public void setCareer(String career) {
this.career = career;
}
@Override
public String toString() {
return "student [id=" + id + ", Snumber=" + Snumber + ", name=" + name
+ ", className=" + className + ", sex=" + sex + ", level="
+ level + ", contactMethod=" + contactMethod
+ ", codeLanguage=" + codeLanguage + ", career=" + career + "]";
} } public class xml_To_object {
public static void main(String[] args) throws Exception {
SAXReader reader = new SAXReader();
Document doc = reader.read("Students.xml");
List<student> students = new ArrayList<student>(); //读取student标签
Iterator<Element> iterator = doc.getRootElement().elementIterator("student");
while(iterator.hasNext()) {
Element e = iterator.next();
student stu = new student(); stu.setId(e.attributeValue("id"));
stu.setName(e.elementText("name"));
stu.setClassName(e.elementText("class"));
stu.setSex(e.elementText("sex"));
stu.setLevel(e.elementText("level"));
stu.setContactMethod(e.elementText("contactMethod"));
stu.setCodeLanguage(e.element("skill").elementText("codeLanguage"));
stu.setCareer(e.element("skill").elementText("career")); students.add(stu); } for (student student : students) {
System.out.println(student);
}
} }

xml_TO_object的更多相关文章

随机推荐

  1. 为什么现在更多需要用的是 GPU 而不是 CPU,比如挖矿甚至破解密码?

    作者:Cascade链接:https://www.zhihu.com/question/21231074/answer/20701124来源:知乎著作权归作者所有,转载请联系作者获得授权. 想要理解G ...

  2. Azure底层架构的初步分析

    之所以要写这样的一篇博文的目的是对于大多数搞IT的人来说,一般都会对这个topic很感兴趣,因为底层架构直接关乎到一个公有云平台的performance,其实最主要的原因是我们的客户对此也非常感兴趣, ...

  3. Bootstrap table使用心得

    序号显示带分页信息的连续编号,在序号列添加以下格式化代码即可. { field: 'number', title: '序号', align:'center', width:45, formatter: ...

  4. C和指针 第十五章 错误报告perror和exit

    15.1 错误报告 perror 任何一种程序都存在出错的可能,包括系统的函数库,当出现错误时,系统提示发生错误,标准库函数在一个外部整型变量中保存错误代码,然后把错误代码传给用户程序,提示错误原因. ...

  5. redis的一些操作

    public class WnsRedisFactory { private static Cache pool = null; private static JedisConnectionFacto ...

  6. 关于JavaScript初级的知识点一(持续更新 )

    自己刚开始接触JS这是自己一个多月以来的一些总结和回顾. 一.什么是js? js是一种弱类型的脚本语言,是HTML的3大组成部分之一.HTML标签 CSS样式 JS脚本. 二.js的5种基本数据类型 ...

  7. OpencV2.4.13前景提取示例代码

    OpenCV2编译  基于高斯混合模型 #include<fstream> #include<iostream> #include<iostream> #inclu ...

  8. 【Winform】使用BackgroundWorker控制进度条显示进度

    许多开发者看见一些软件有进度条显示进度,自己想弄,项目建好后发现并没有自己想象中的那么简单...看了网上很多教程后,写了一个小Demo供网友们参考~~,Demo的网址:http://pan.baidu ...

  9. jquery插件封装成seajs模块

    jquery直接在html中引入. jquery插件修改为: define(function (require, exports, moudles) { return function (jquery ...

  10. 设计模式--代理模式Proxy(结构型)

    一.代理模式 为其他对象提供一种代理以控制对这个对象的访问. 代理模式分为四种: 远程代理:为了一个对象在不同的地址空间提供局部代表.这样可以隐藏一个对象存在于不同地址空间的事实. 虚拟代理:根据需要 ...