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(); } } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!