根据类名反射得到其属性及属性值,属性为XML标签,属性值为XML标签值。

import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.List;
/**
* 根据反射生成XML
* @author 喻克
*
*/
public class ObjectToXml {
/**
* 根据类名反射得到其属性及属性值
* 属性为XML标签,属性值为XML标签值
* @param object
* @return String
* @throws Exception
*/
public static String ObjecttoXML(Object object) throws Exception {
Class<? extends Object> classType = object.getClass();
//属性集合
Field[] fields = classType.getDeclaredFields();
String xml = "";
for (Field field : fields) {
String fieldName = field.getName();//属性名称
String stringLetter = fieldName.substring(0, 1).toUpperCase();
// 获得object对象相应的get方法
String getName = "get" + stringLetter + fieldName.substring(1);
// 获取相应的方法
Method getMethod = classType.getMethod(getName, new Class[] {});
// 调用源对象的get方法的值
Object getValue = getMethod.invoke(object, new Object[] {});
if (null == getValue) {
getValue = "";
}
xml += "<" + fieldName + ">" + getValue + "</" + fieldName + ">";
}
xml ="<object>" +  xml + "</object>";
return xml;
}
/**
* 根据类名反射得到其属性及属性值
* 属性为XML标签,属性值为XML标签值
* @param objectList
* @return String
* @throws Exception
*/
public static String ObjecttoXML(List<Object> objectList) throws Exception {
String xml = "";
xml += "<objects>";
for (int i = 0; i < objectList.size(); i++) {
Object object = objectList.get(i);
Class<? extends Object> classType = object.getClass();
Field[] fields = classType.getDeclaredFields();
xml += "<object>";
for (Field field : fields) {
String fieldName = field.getName();
String stringLetter = fieldName.substring(0, 1).toUpperCase();
String getName = "get" + stringLetter + fieldName.substring(1);
Method getMethod = classType.getMethod(getName, new Class[] {});
Object getValue = getMethod.invoke(object, new Object[] {});
if (null == getValue) {
getValue = "";
}
xml += "<" + fieldName + ">" + getValue + "</" + fieldName + ">";
}
xml += "</object>";
}
xml += "</objects>";
return xml;
}
}

转载于:https://blog.51cto.com/yuke198907/1332487

实体类转换为XML字符串相关推荐

  1. C#实现实体类和XML相互转换

    一.实体类转换成XML 将实体类转换成XML需要使用XmlSerializer类的Serialize方法,将实体类序列化 public static string XmlSerialize<T& ...

  2. python映射实体类_将Python(django)实体类转换为Java的好方法 - java

    我正在寻找一种"复制" /将模型从Python源代码转换为Java源代码的好方法.我的想法是在服务器上使用Python django框架生成实体模型类.另一方面,我想将实体类转换为 ...

  3. java实体类转换xml_简单实体类和xml文件的相互转换方法

    最近写一个题目,要求将一组员工实体类转换成xml文件,或将xml文件转换成一组实体类.题目不难,但写完感觉可以利用泛型和反射将任意一个实体类和xml文件进行转换.于是今天下午立马动手 试了下,做了个简 ...

  4. java解析xml工具类_通过dom4j解析XML字符串XMLDocUtil工具类转换为XML文档及获取指定根节点及指定节点路径内容代码示例...

    一.前言 通过dom4j解析XML文档的XMLDocUtil工具类,进行解析xml字符串为Document文档对象.获取根节点元素路径内容getRootElement.获取唯一路径节点的值getSin ...

  5. 利用dom4j将实体类转换为对应的xml报文

    利用dom4j生成xml报文 目标格式: <?xml version="1.0" encoding="GBK"?><Packet type=& ...

  6. Castor简单介绍实体类和xml互转

    本节摘要:本节主要介绍Castor插件的使用. https://www.cnblogs.com/java-pan/archive/2012/04/18/castor.html preparation ...

  7. JAVA Spring 简单的配置和操作 ( 创建实体类, 配置XML文件, 调试 )

    < 1 > 实体类 Person package java_spring.modle;/*** 一个实体类( Person )*/ public class Person {private ...

  8. 【小5聊】C# Json字符串转Model实体类以及Model实体类转Json字符串

    1.引用DLL:Newtonsoft.Json.dll 引用自己项目兼容的dll版本安装 2.Json字符串转Model实体类 UserInfoModel model = new UserInfoMo ...

  9. Xml转Java实体类对象 xml转Javabena 对象 且多级嵌套 复杂嵌套

    最近在做企微开发,遇到了一个比较复杂的xml然后要去我将xml转成实体类 xml如下 <xml><ToUserName><![CDATA[toUser]]>< ...

  10. JSON字符串封装成Bean对象/JSON串反序列化成实体类对象/JSON字符串转换成Java对象

    文章目录 使用阿里巴巴的 JSON 使用 ObjectMapper JSON字段与实体类属性不一致 首先,我们建立一个实体类,这里简单定义了 name.sex.age 三个属性,以及 get.set. ...

最新文章

  1. python construct_Python construct包_程序模块 - PyPI - Python中文网
  2. 智能指针引用计数器版
  3. C#8.0可空引用类型的使用注意要点
  4. hdu1174(3维射线与圆是否相交)
  5. 华为acl怎么生效_华为ACL配置教程(一)
  6. 记一次阿里云服务器CPU长期100%发现被被种挖矿程序解决的过程(一摸一样,只是没查到怎么进来的,入侵)
  7. 都爱云支付首页模板(上传即可使用)
  8. JavaScript算法(实例十)回文数 / 立方根 / 进制转化
  9. 云计算(1)---基础知识
  10. siblings() 获得匹配集合中每个元素的同胞,通过选择器进行筛选是可选的。
  11. 如何从网站提取数据?
  12. WPS无法使用复制粘贴快捷键
  13. 电气simulink常用模块_自动化设备电气图纸常用元件符号
  14. 小程序URL Scheme规则调整支持方案
  15. 把一个人的特点写具体作文_把一个人的特点写具体
  16. 软件验收测试合格的标准
  17. 芯片解密MC9S08DZ16 飞思卡尔系列芯片解密
  18. 分布式缓存Hazelcast详解及原理探究
  19. 【单目标优化求解】基于matlab增强型黑猩猩优化器算法求解单目标优化问题【含Matlab源码 2013期】
  20. 计算机 应用期刊模板下载

热门文章

  1. java没有类_为什么Java中没有类的第一类对象?
  2. innodb 删除隐藏列_MySQL进阶之InnoDB事务原子性实现原理
  3. 安卓开发板烧写程序与安装软件的区别_总结一下各大开发板android烧写方式
  4. c++用两个队列实现一个栈
  5. 《数据结构和算法》之中缀表达式、后缀表达式转换
  6. JAVA动态绑定浅析
  7. 数学篇--初中数学知识
  8. 《深入理解Hadoop(原书第2版)》——3.4第一个Hadoop程序
  9. weblogic数据源配置oracle and mysql
  10. Unbuntu学习笔记之安装vmware tools