package list2Xml;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
public class Change {
public String toXml(List list) {
StringBuffer bf = new StringBuffer();
bf.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<objects>\n");
for (int i = 0; i < list.size(); i++) {
Object obj = list.get(i);
//getSimpleName返回getClass()对象的简称
bf.append("\t<" + obj.getClass().getSimpleName());
//getDeclaredFields返回对象中所有字段,包括私有的
Field[] fields = obj.getClass().getDeclaredFields();
for (int j = 0; j < fields.length; j++) {
try {
String name = fields[j].getName();
Method method = obj.getClass().getMethod(
"get" + name.substring(0, 1).toUpperCase()
+ name.substring(1), new Class[] {});
//invoke调用源对象的方法,也就是obj对象的method方法,如果有返回值,则返回. 如果method有参数,则是在new Object[]{}中传值
Object result = method.invoke(obj, new Object[] {});
bf.append(" " + name + "=" + result);
} catch (Exception e) {
}
}
bf.append(" />\n");
}
bf.append("</objects>\n");
return bf.toString();
}
public static void main(String[] args) {
List<User> list = new ArrayList<User>();
User user1 = new User();
user1.setId("i1");
user1.setName("n1");
User user2 = new User();
user2.setId("i2");
user2.setName("n2");
list.add(user1);
list.add(user2);
Change c = new Change();
System.out.println(c.toXml(list));
}
}
class User {
public String id;
public String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
分享到:
相关推荐
这不仅涉及到程序设计的层面,还包括对JVM内存模型的深入理解和灵活运用。通过上述的分析和总结,我们可以得出,JVM调优是一个涉及多方面知识的复杂过程,需要开发者具备扎实的理论基础和丰富的实践经验。
C语言读取汉字字模 摘自网络
机器人制作具体摘自配件手册.pdf
摘自linuxForum 经典帖子
机器人制作具体摘自配件说明书.pdf
标题中的“毕业设计作品_运放的应用(摘自OHM丛书)”表明这是一份与电子工程相关的毕业设计,重点在于运算放大器...通过深入理解和应用这些内容,可以提升对运放工作原理的理解,增强在实际问题中运用运放解决能力。
1. **工程图基础**:首先,理解工程图的基本概念和用途至关重要。工程图是产品设计的蓝图,它包含了产品的尺寸、公差、表面粗糙度、形位公差等关键信息。通过工程图,制造商可以准确地了解设计意图,确保产品的制造...
投资者在实际操作中,需要将心态的培养、市场节奏的理解、操作级别的选择和买卖点的精准判断有机结合起来,形成一套适合自身投资风格的操作系统。缠师心法并不是一种僵化的教条,而是需要投资者在实践中不断体会、...
从IBM中文网站上下的资料,整理成CHM格式 摘自红皮书《IBM eserver pSeries HACMP V5.x Certification Study Guide Update》
如何做好精装修工程管理摘自网络.doc
《运放的应用(摘自OHM丛书)》是关于运算放大...理解和掌握运放的工作原理及应用,对于电子工程师来说至关重要。这份《运放的应用(摘自OHM丛书)》无疑是一份宝贵的参考资料,能帮助读者深入了解并运用运放解决实际问题。
《运放的应用(摘自OHM丛书)》这个压缩包文件包含了有关运算放大器(简称...理解和掌握运放的原理及应用,对于任何电子工程师来说都是至关重要的。《运放的应用(摘自OHM丛书)》这本书无疑是深入学习这一主题的宝贵资源。
ISD2560系列单片语音录放电路摘自配件手册.pdf
CAD 技术发展历程概览_ 摘自 计算机世界报 CAD技术起步于50年代后期。进入60年代,随着在计算机屏幕上绘图变为可行而开始迅速发展。人们希望借助此项技术来摆脱繁琐、费时、绘制精度低的传统手工绘图。此时CAD技术的...
这是一份软件工程师秋招信息,摘自前程无忧网站
ISD2560系列单片语音录放电路摘自配件说明书.pdf
文章内容摘自一篇关于Pierre Dupin和他忠诚的马Joseph的故事,这故事展现了人与动物之间深厚的情感联系。Pierre Dupin在Edward街送牛奶已有三十年,其中十五年来都是由一匹名叫Joseph的大白马帮忙。Joseph因其温和的...
汇编语言是一种低级编程语言,它是计算机硬件可以直接理解的语言,每一条指令对应着计算机硬件中的一个操作。由于其直接与机器硬件相关联,因此汇编语言具有高度的效率和直接控制能力。王爽的汇编教程是针对汇编初学...
行测资料分析是公务员考试中的一种重要题型,它测试考生对数据的理解、分析和比较能力。以下是对该题型的一些关键知识点和解题技巧的详细说明: 1. **资料类型**: - 文字资料:这类资料通常以叙述方式呈现,特点...
数据结构快速自学教材,摘自数据结构自考网站,http://student.zjzk.cn/course_ware/data_structure/web/main.htm。 CSDN以前也有别人发的相同资料,但它是用离线...2、数据结构演示动画,形象有趣,有利于加强理解。