Home  >  Article  >  Backend Development  >  Sample code sharing for converting java objects into xml format

Sample code sharing for converting java objects into xml format

黄舟
黄舟Original
2017-04-01 13:33:411679browse

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(); 
} 

} 
}

The above is the detailed content of Sample code sharing for converting java objects into xml format. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn