Java SE练习
来源:互联网 发布:中国期刊 数据库 编辑:程序博客网 时间:2024/06/08 10:49
前言:对dom4j、反射使用的一个综合练习。
一、编写XML文件
<?xml version="1.0" encoding="UTF-8"?><beans> <student className="cn.itcast.javaeevideoday02.Student"> <name>张三</name> <age>18</age> <sex>男</sex> </student> <student className="cn.itcast.javaeevideoday02.Student"> <name>李四</name> <age>20</age> <sex>男</sex> </student> <student className="cn.itcast.javaeevideoday02.Student"> <name>王五</name> <age>22</age> <sex>男</sex> </student></beans>
二、导入jar包
在项目下新建lib文件夹,将dom4j解析jar包复制到该路径,点击jar包右键BuildPath–>Add to buildpath
三、代码实现
package cn.itcast.javaeevideoday02;import java.lang.reflect.Array;import java.lang.reflect.Constructor;import java.util.ArrayList;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;/** * * @author 大家都说名字长不会被发现 * */public class SynthesisDemo { public static void main(String[] args) throws Exception { //创建SAXReader对象 SAXReader reader = new SAXReader(); //读取XML文件 Document document = reader.read("bean.xml"); //获取文件跟标签 Element rootElement = document.getRootElement(); //获取根标签下指定的所有子标签 List<Element> elements = rootElement.elements(); //创建集合对象 ArrayList<Student> stuLists = new ArrayList<>(); for (Element element : elements) { //获取标签属性值 String className = element.attributeValue("className"); //获取子标签文本 String name = element.elementText("name"); String age = element.elementText("age"); String sex = element.elementText("sex"); //获取字节码文件对象 Class c = Class.forName(className); //获取对象满参构造 Constructor constructor = c.getConstructor(String.class,int.class,String.class); Object student = constructor.newInstance(name,Integer.valueOf(age),sex); stuLists.add((Student)student); } System.out.println(stuLists); }}
阅读全文
0 0
- Java SE练习
- Java SE练习
- 练习JTree,Java SE所有类
- java se
- Java SE
- java se
- java se
- java se
- JAVA SE
- JAVA SE
- 写给大忙人看的 Java SE 8 第一章练习 答案 <函数式编程>
- 《Java SE》初学Java
- 【Java SE】认识Java
- Java SE 中的技术
- Java SE 简单介绍
- JAVA SE学习笔记
- JAVA SE 相关
- Java SE 6 Beta
- 在未来,你吃的肉不会来自活的有机体
- 面试感悟
- 使用Matlab完成层次聚类算法(最小生成树算法)
- html5的data-*数据绑定小例子
- 删除githhub本地仓库
- Java SE练习
- Oracle数据库常用命令
- Notepad++内置变量
- with as SQL语句
- vs无法引用项目问题
- Python即将纳入高考,AI大潮来袭过后,便是万物互联?
- Android开发之漫漫长途 VII——Android消息机制(Looper Handler MessageQueue Message)
- C++简史
- 深度学习第一课:使用NDArray来处理数据