java对象转换为xml格式的示例代码分享

package com.io; public class Person { private String name; private Integer age; private String hobby; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getHobby() { return hobby; } public void setHobby(String hobby) { this.hobby = hobby; } public Person(String name, Integer age, String hobby) { super(); this.name = name; this.age = age; this.hobby = hobby; } public Person() { super(); } } package com.io; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.XMLWriter; public class XmlUtil { /** * 使用dom4j将对象生成xml文件 * @param object 任意对象 * @return * @throws SecurityException * @throws NoSuchMethodException * @throws InvocationTargetException * @throws IllegalAccessException * @throws IllegalArgumentException * @throws IOException */ public static String objectSingleDom4jToXml(Object object,String path) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException, IOException{org.dom4j.Document document = DocumentHelper.createDocument(); Element root = document.addElement(object.getClass().getSimpleName()+"s"); Element child = root.addElement(object.getClass().getSimpleName()); Field[] fields = object.getClass().getDeclaredFields(); for (Field field : fields) { Method method = object.getClass().getMethod("get"+field.getName().substring(0,1).toUpperCase()+field.getName().substring(1,field.getName().length()));child.addElement(field.getName()).setText(method.invoke(object)+""); } File dir = new File(path); String prefix = ".xml"; if(!dir.isDirectory()) dir.mkdirs(); File file = new File(dir+"\\"+object.getClass().getSimpleName()+prefix); if(!file.exists())file.createNewFile(); file.canExecute(); file.canRead(); file.canWrite(); Writer fileWriter = new FileWriter(file); XMLWriter xmlWriter = new XMLWriter(fileWriter); xmlWriter.write(document); xmlWriter.close(); return document.asXML(); } public static void main(String[] args) throws SecurityException, NoSuchMethodException, IOException { Person person = new Person("test", 24, "看电影、上网"); String str; try { str = objectSingleDom4jToXml(person,"F://create"); System.out.println(str); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } } }

更多相关文章

  1. 具体分析Pull方式解析XML的示例代码
  2. Microsoft.XMLHTTP对象介绍
  3. Jaxb2实现Bean与xml互转的示例代码详解
  4. 利用xslt将xml解析成xhtml的代码示例
  5. Qt解析XML的示例代码分享
  6. 应用CSS转换XML文档的示例介绍
  7. XSD与XML的检测示例代码
  8. xml在powerbuilder中应用的代码示例
  9. dom4j解析xml文件代码示例

随机推荐

  1. 如何在提交后有一个自动更新的下拉菜单?
  2. 范围变量值的变化没有反映在我的字符串中
  3. 如何从一个节点生成exe文件。js应用?
  4. 与同一页面上的两个jquery datepickers冲
  5. 如何更模块化地编写jQuery代码?
  6. 如何使用Angularjs显示函数的返回值
  7. 使用.after()添加html关闭和打开标记
  8. android 中 webview 怎么用 localStorage
  9. javaScript怎么实现双向数据绑定
  10. Dart语言和Android:访问手机的相机