浏览 2587 次
锁定老帖子 主题:将POJO转化成符合XML格式的字符串
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-05
最后修改:2008-12-05
POJO如下: package util.bean; public class UserExtendInfo { private String userName; private String mobilePhone; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getMobilePhone() { return mobilePhone; } public void setMobilePhone(String mobilePhone) { this.mobilePhone = mobilePhone; } } UserExtendInfo user = new UserExtendInfo(); user.setMobilePhone("1234567"); user.setUserName("Ted Mosby"); 转化成的XML字符串: <?xml version="1.0" encoding="UTF-8"?> <ResponseMessage> <UserName>Ted Mosby</UserName> <MobilePhone>1234567</MobilePhone> </ResponseMessage> 注:不讲究输出格式。 源码: package cn.com.test; import java.lang.reflect.Field; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import util.bean.UserExtendInfo; public class Test { public static void main(String[] args) { UserExtendInfo user = new UserExtendInfo(); user.setMobilePhone("1234567"); user.setUserName("Ted Mosby"); Field[] fieldArray = user.getClass().getDeclaredFields(); Document document = DocumentHelper.createDocument(); //新增根节点<ResponseMessage></ResponseMessage> Element rootElement = document.addElement("ResponseMessage"); String name = null; String text = null; for(Field field : fieldArray) { name = field.getName(); //将首字母大写 name = name.substring(0, 1).toUpperCase()+name.substring(1); //禁止Java访问权限检查,使能够访问private修饰的属性变量 field.setAccessible(true); try{ text = field.get(user).toString(); }catch(IllegalAccessException ilae) { System.out.println(ilae.getMessage()); } rootElement.addElement(name).setText(text); } System.out.println(document.asXML()); } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-12-05
有开源的直接用吧
|
|
返回顶楼 | |
发表时间:2008-12-05
这个问题很多的
1。 XML版本的支持, string可能包含xml 1.0版本无法兼容的东西 2。 一个是xml转义的支持。 我是自己写了xml<=>pojo的过程, 另外是,所有open source目前都发现一些严重的问题, 很不舒服, 最后才菠菜众长,自己搞。 |
|
返回顶楼 | |
发表时间:2008-12-26
什么都自己搞,累死了,xtream 就很不错
|
|
返回顶楼 | |
发表时间:2008-12-26
唉.......用jaxb吧.....
|
|
返回顶楼 | |