将POJO转化成符合XML格式的字符串

环境:MyEclipse6.5 + DOM4J1.6.1

POJO如下:

Java代码 复制代码
  1. package util.bean;   
  2. public class UserExtendInfo {      
  3.     private String userName;   
  4.        
  5.     private String mobilePhone;   
  6.        
  7.     public String getUserName() {   
  8.         return userName;   
  9.     }   
  10.     public void setUserName(String userName) {   
  11.         this.userName = userName;   
  12.     }   
  13.     public String getMobilePhone() {   
  14.         return mobilePhone;   
  15.     }   
  16.     public void setMobilePhone(String mobilePhone) {   
  17.         this.mobilePhone = mobilePhone;   
  18.     }   
  19. }  


Java代码 复制代码
  1. UserExtendInfo user = new UserExtendInfo();   
  2. user.setMobilePhone("1234567");   
  3. user.setUserName("Ted Mosby");  



转化成的XML字符串:
<?xml version="1.0" encoding="UTF-8"?>
<ResponseMessage>
<UserName>Ted Mosby</UserName>
<MobilePhone>1234567</MobilePhone>
</ResponseMessage>
注:不讲究输出格式。

源码:

Java代码 复制代码
  1. package cn.com.test;   
  2.   
  3. import java.lang.reflect.Field;   
  4. import org.dom4j.Document;   
  5. import org.dom4j.DocumentHelper;   
  6. import org.dom4j.Element;   
  7. import util.bean.UserExtendInfo;   
  8.   
  9. public class Test {   
  10.     public static void main(String[] args) {   
  11.         UserExtendInfo user = new UserExtendInfo();   
  12.         user.setMobilePhone("1234567");   
  13.         user.setUserName("Ted Mosby");   
  14.            
  15.         Field[] fieldArray = user.getClass().getDeclaredFields();   
  16.         Document document = DocumentHelper.createDocument();   
  17.                 //新增根节点<ResponseMessage></ResponseMessage>   
  18.         Element rootElement = document.addElement("ResponseMessage");   
  19.         String name = null;   
  20.         String text = null;   
  21.         for(Field field : fieldArray) {   
  22.             name = field.getName();   
  23.                         //将首字母大写   
  24.             name = name.substring(01).toUpperCase()+name.substring(1);   
  25.             //禁止Java访问权限检查,使能够访问private修饰的属性变量   
  26.             field.setAccessible(true);   
  27.             try{   
  28.                 text = field.get(user).toString();   
  29.             }catch(IllegalAccessException ilae) {   
  30.                 System.out.println(ilae.getMessage());   
  31.             }   
  32.             rootElement.addElement(name).setText(text);   
  33.         }   
  34.         System.out.println(document.asXML());   
  35.     }   
  36.   
  37. }  
posted @ 2009-01-08 20:15  猪鼻驴耳  阅读(331)  评论(0)    收藏  举报