如何使用list集合生成XML文件?
- 内容介绍
- 文章标签
- 相关推荐
本文共计376个文字,预计阅读时间需要2分钟。
需要传递一个类类型的反射,并且不足够完整面向对象,需要自行创建根节点和每个级别的节点。以下是一个简化版的代码开头内容:
javapublic static void writeXmlByDoc(Class c) throws Exception { List list=new ArrayList(); list.add(new Users(1001, 小护士)); // ...}
//有瑕疵 不够完全面向对象 需要自己创建根节点 和 每一个次级节点
public static void writeXmlByDoc(Class c) throws Exception{
List
public static void creatElements(Class c,Element fatherElement,Object object) throws Exception{ String nameTemp; for (Method me : c.getMethods()) { for (Field fl : c.getDeclaredFields()) { if(me.getName().equalsIgnoreCase("get"+fl.getName())){ Element nameElement = DocumentHelper.createElement(fl.getName()); nameElement.setText(me.invoke(object, null)+""); fatherElement.add(nameElement); if(!isBasicType(fl.getType())){ creatElements(fl.getType(), nameElement, me.invoke(object, null)); } } } } } 判断是否是基本类型:
public static boolean isBasicType(Class clazz){ if(clazz == Character.class || clazz == char.class || clazz == String.class || clazz == Integer.class || clazz == int.class || clazz == Float.class || clazz==float.class || clazz == Double.class || clazz == double.class || clazz == Byte.class || clazz == byte.class || clazz == Boolean.class || clazz == boolean.class || clazz == Long.class || clazz == long.class || clazz == Short.class || clazz == short.class){ return true; } return false; }
本文共计376个文字,预计阅读时间需要2分钟。
需要传递一个类类型的反射,并且不足够完整面向对象,需要自行创建根节点和每个级别的节点。以下是一个简化版的代码开头内容:
javapublic static void writeXmlByDoc(Class c) throws Exception { List list=new ArrayList(); list.add(new Users(1001, 小护士)); // ...}
//有瑕疵 不够完全面向对象 需要自己创建根节点 和 每一个次级节点
public static void writeXmlByDoc(Class c) throws Exception{
List
public static void creatElements(Class c,Element fatherElement,Object object) throws Exception{ String nameTemp; for (Method me : c.getMethods()) { for (Field fl : c.getDeclaredFields()) { if(me.getName().equalsIgnoreCase("get"+fl.getName())){ Element nameElement = DocumentHelper.createElement(fl.getName()); nameElement.setText(me.invoke(object, null)+""); fatherElement.add(nameElement); if(!isBasicType(fl.getType())){ creatElements(fl.getType(), nameElement, me.invoke(object, null)); } } } } } 判断是否是基本类型:
public static boolean isBasicType(Class clazz){ if(clazz == Character.class || clazz == char.class || clazz == String.class || clazz == Integer.class || clazz == int.class || clazz == Float.class || clazz==float.class || clazz == Double.class || clazz == double.class || clazz == Byte.class || clazz == byte.class || clazz == Boolean.class || clazz == boolean.class || clazz == Long.class || clazz == long.class || clazz == Short.class || clazz == short.class){ return true; } return false; }

