栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java解析xml文件通过dom4j解析实体类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java解析xml文件通过dom4j解析实体类



	
		
		
		
	

导入jar包

 
            org.dom4j
            dom4j
            2.1.3
        

实体类

package com.zyz.test;

public class User {
	private int id;
	private String name;
	private String password;
	
	
	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + ", password=" + password + "]";
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	
}

解析代码

	public static void readerXml() {
		//1.创建Reader对象
		SAXReader reader=new SAXReader();
		try {
		    //2.加载xml
			Document doc=reader.read(new File("src/com/zyz/test/test.xml"));
			//3.获取根节点
			Element rootElement=doc.getRootElement();
			 // rootElement.elements()获取根节点下所有的节点,
			
			
			//获取节点bean下属性为class的值
			Element beanElement=rootElement.element("bean");
			Attribute attr=beanElement.attribute("class");
			
			String classpath=attr.getText();//获取内路径
			
			//通过反射得到类
			Class clazz=Class.forName(classpath);
			//通过无参构造 
			Object o=clazz.newInstance();
			
			List propertylist=beanElement.elements("property");
			 //依次遍历根节点下的节点 
			for (Element element : propertylist) {
				//获取name
				Attribute name=element.attribute("name");
//				System.out.println(name.getText());
				//获取value
				Attribute value=element.attribute("value");
				String values=value.getText();
				//使用属性名来 给object 传入值
				Field fied=clazz.getDeclaredField(name.getText());
				//可以让私有属性可以使用
				fied.setAccessible(true);
				
				if(fied.getType()==int.class) {
					fied.set(o, Integer.parseInt(values));
				}else if (fied.getType()==String.class) {
					fied.set(o, values);
				}
				
			}
			
			System.out.println(o);		
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1019940.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号