实体类转换为XML字符串

前端之家收集整理的这篇文章主要介绍了实体类转换为XML字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

  1. import java.lang.reflect.Field;
  2. import java.lang.reflect.Method;
  3. import java.util.List;
  4. /**
  5. * 根据反射生成XML
  6. * @author 喻克
  7. *
  8. */
  9. public class ObjectToXml {
  10. /**
  11. * 根据类名反射得到其属性属性
  12. * 属性为XML标签属性值为XML标签
  13. * @param object
  14. * @return String
  15. * @throws Exception
  16. */
  17. public static String ObjecttoXML(Object object) throws Exception {
  18. Class<? extends Object> classType = object.getClass();
  19. //属性集合
  20. Field[] fields = classType.getDeclaredFields();
  21. String xml = "";
  22. for (Field field : fields) {
  23. String fieldName = field.getName();//属性名称
  24. String stringLetter = fieldName.substring(0,1).toUpperCase();
  25. // 获得object对象相应的get方法
  26. String getName = "get" + stringLetter + fieldName.substring(1);
  27. // 获取相应的方法
  28. Method getMethod = classType.getMethod(getName,new Class[] {});
  29. // 调用源对象的get方法的值
  30. Object getValue = getMethod.invoke(object,new Object[] {});
  31. if (null == getValue) {
  32. getValue = "";
  33. }
  34. xml += "<" + fieldName + ">" + getValue + "</" + fieldName + ">";
  35. }
  36. xml ="<object>" + xml + "</object>";
  37. return xml;
  38. }
  39. /**
  40. * 根据类名反射得到其属性属性
  41. * 属性为XML标签属性值为XML标签
  42. * @param objectList
  43. * @return String
  44. * @throws Exception
  45. */
  46. public static String ObjecttoXML(List<Object> objectList) throws Exception {
  47. String xml = "";
  48. xml += "<objects>";
  49. for (int i = 0; i < objectList.size(); i++) {
  50. Object object = objectList.get(i);
  51. Class<? extends Object> classType = object.getClass();
  52. Field[] fields = classType.getDeclaredFields();
  53. xml += "<object>";
  54. for (Field field : fields) {
  55. String fieldName = field.getName();
  56. String stringLetter = fieldName.substring(0,1).toUpperCase();
  57. String getName = "get" + stringLetter + fieldName.substring(1);
  58. Method getMethod = classType.getMethod(getName,new Class[] {});
  59. Object getValue = getMethod.invoke(object,new Object[] {});
  60. if (null == getValue) {
  61. getValue = "";
  62. }
  63. xml += "<" + fieldName + ">" + getValue + "</" + fieldName + ">";
  64. }
  65. xml += "</object>";
  66. }
  67. xml += "</objects>";
  68. return xml;
  69. }
  70. }

猜你在找的XML相关文章