`
f_zongjian
  • 浏览: 1235 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

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

阅读更多
环境:MyEclipse6.5 + DOM4J1.6.1

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

}

分享到:
评论
4 楼 sway 2008-12-26  
唉.......用jaxb吧.....
3 楼 kjj 2008-12-26  
什么都自己搞,累死了,xtream 就很不错
2 楼 sdh5724 2008-12-05  
这个问题很多的
1。 XML版本的支持, string可能包含xml 1.0版本无法兼容的东西
2。 一个是xml转义的支持。

我是自己写了xml<=>pojo的过程, 另外是,所有open source目前都发现一些严重的问题, 很不舒服, 最后才菠菜众长,自己搞。
1 楼 xuyao 2008-12-05  
有开源的直接用吧

相关推荐

    使用xstream解析xml,xml与pojo的双向转化,完整的java 工程

    4. 序列化:将Java对象转化为XML字符串。使用`XStream.toXML()`方法,传入要转化的对象即可。 5. 反序列化:将XML字符串转化为Java对象。调用`XStream.fromXML()`方法,传入XML字符串,返回对应类型的Java对象。 6...

    parse xml string from url to POJO

    3. **将XML字符串转换为POJO**: 一旦有了XML字符串,就需要解析它并映射到Java对象。这里可以使用如`Jackson`,`Gson`或`SimpleXML`等库。对于XML,`SimpleXML`是一个不错的选择,因为它可以直接将XML元素映射到...

    XmlUtil.java

    xml格式字符串与java pojo实体类相互转换工具类

    JSON后台相互转换.docx

    Fastjson是阿里巴巴提供的一种JSON解析库,它支持JavaBeans和JSON数据格式之间的转换,同时也支持JSON字符串的解析。 三、JSON转换Java对象 在Java中,需要将JSON字符串转换为Java对象。常见的JSON转换Java对象的...

    jackson xtream应用

    2. **Java对象到XML**:相反,它也可以将Java对象序列化为XML格式的字符串或文件,用于数据传输或存储。 3. **类型安全**:Jackson XTream支持类型安全的转换,可以自动处理类型转换错误,避免潜在的运行时异常。 4....

    json、javaBean、xml互转的几种工具介绍

    Gson是由Google提供的一个开源库,它可以将Java对象转换为JSON字符串,反之亦然。使用Gson,你可以轻松地在JavaBean和JSON之间进行转换。例如: ```java MyClass myObj = new MyClass(); String jsonString = ...

    生成json串

    这些库提供了方便的API,可以将Java对象转换为JSON字符串,也可以将JSON字符串解析为Java对象。标题提到的"生成json串",可能是指使用这些库中的某个或多个来创建JSON字符串。 描述中提到的“jar包”,是指Java的...

    TaggedModularConfigurationJava配置库读取并将配置文件映射到POJO

    TMC库会自动处理类型转换,例如将字符串转换为整数或日期等。 5. **加载和使用配置**:在应用程序启动时,通过TMC库加载配置。加载后的配置对象可以直接在代码中使用,无需再进行手动解析。 6. **动态刷新**:TMC...

    json-lib-2.1

    "json-lib-2.1"就是这样一个库,专为Java开发者设计,用于方便地将Java集合、数组、POJO(Plain Old Java Object)等数据结构转换为JSON格式,同时也能将JSON字符串反序列化回对应的Java对象。这个库特别适用于与...

    serializepojo:能够以CSV格式序列化简单pojo的库

    3. 序列化:创建一个`serializepojo`库提供的类实例,然后传入要序列化的POJO对象,调用相应的方法将其转换为CSV字符串。 4. 处理结果:生成的CSV字符串可以直接写入文件,通过网络发送,或者进一步处理,如分析或...

    json-lib-v2.4

    例如,`XMLUtils.toJSON()`可以将XML字符串转化为JSON格式,而`JSONObject.toXML()`则可以将JSON对象转换为XML字符串。 4. **复杂类型的处理**:除了基本类型和简单对象,`json-lib`还可以处理包括日期、数组、集合...

    开源软件包XStream及入门文档

    3. **XML到对象的转换**:使用`fromXML(String xml)`方法将XML字符串转化为Java对象。 4. **对象到XML的转换**:使用`toXML(Object obj)`方法将Java对象转换为XML字符串。 **三、XStream的配置与自定义** 1. **...

    JSON jar包

    - 解析JSON字符串:将JSON格式的字符串转化为JSONObject或JSONArray。 - 创建JSON对象:创建JSONObject或JSONArray,并添加数据。 - 序列化:将Java对象转化为JSON字符串。 - 反序列化:将JSON字符串转化为Java对象...

    eclipse中castor插件

    - 序列化和反序列化:使用Castor提供的API,可以将Java对象转换为XML字符串,或将XML文档解析为Java对象。 4. **使用Castor进行数据绑定的优势**: - 提高开发效率:通过自动化的映射,减少了手动处理XML数据的...

    BANKINGPROJECT

    将消息作为JSON pojo发送到转换器应用程序,以转换为xml字符串 使用Kafka的ReplyingKafkaTemplate同步请求/回复 /资金转移 给定有效的转帐消息,将保留交易并更新两个帐户的余额 请求是否返回状态,是否能够成功发送...

    DWR.xml配置文件说明书(含源码)

    客户端的javascript将返回给reply对象(此时reply是java.util.date的字符串形式) 3.5 The 'scripted' Creator DWR 已经默认配置了scripted creator配置, 这种类型的creator采用BSF执行脚本语言并返回bean.例如 ......

    java开发json所需要的jar包

    3. 将Java对象转换为JSON:通过`JSONObject.fromObject()`或`JSONArray.fromObject()`方法,可以将Java对象(如POJO、List、Map等)转换为JSON格式的字符串。 4. 解析JSON字符串:使用`JSONObject.parse()`或`...

    springmybatis

    其实还有更简单的方法,而且是更好的方法,使用合理描述参数和SQL语句返回值的接口(比如IUserOperation.class),这样现在就可以至此那个更简单,更安全的代码,没有容易发生的字符串文字和转换的错误.下面是详细...

    xml2json:xml到json随处可见; 原始

    `XmlMapper`用于从XML文件中读取数据,将其映射到Java对象,然后`jsonMapper`将这个Java对象转换成JSON字符串。 在实际应用中,XML到JSON的转换可能需要处理更复杂的情况,例如处理命名空间、处理XML注释、处理XML...

    DOM4J,Jaxen,XStream,FastJson,Gson

    Gson能够将任何Java对象转换为对应的JSON字符串,反之亦然。它具有高度灵活性,可以处理复杂的嵌套结构,支持自定义序列化和反序列化规则,以及类型安全的JSON解析。 这些库在Java开发中各有其独特优势,选择使用哪...

Global site tag (gtag.js) - Google Analytics