`
Copperfield
  • 浏览: 261139 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
C407adc3-512e-3a03-a056-ce4607c3a3c0
java并发编程陷阱
浏览量:25214
社区版块
存档分类

将javabean转化成xml格式

 
阅读更多
package test;

import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;

public class XmlReflector {
	private Class sourceClass;
	private BeanInfo beanInfo;
	private String name;

	XmlReflector(Class sourceClass, String name) throws Exception {
		this.sourceClass = sourceClass;
		this.name = name;
		beanInfo = Introspector.getBeanInfo(sourceClass);
	}

	public String convertToXml(Object o) throws Exception {
		StringBuffer returnValue = new StringBuffer("");
		if (o.getClass().isAssignableFrom(sourceClass)) {
			PropertyDescriptor[] pd = beanInfo.getPropertyDescriptors();
			if (pd.length > 0) {
				returnValue.append("<" + name + ">");
				for (int i = 0; i < pd.length; i++) {
					returnValue.append(getProp(o, pd[i]));
				}
				returnValue.append("</" + name + ">");
			} else {
				returnValue.append("<" + name + "/>");
			}
		} else {
			throw new ClassCastException("Class " + o.getClass().getName()
					+ " is not compatible with " + sourceClass.getName());
		}
		return returnValue.toString();
	}

	private String getProp(Object o, PropertyDescriptor pd) throws Exception {
		StringBuffer propValue = new StringBuffer("");
		Method m = pd.getReadMethod();
		Object ret = m.invoke(o);
		if (null == ret) {
			propValue.append("<" + pd.getName() + "/>");
		} else {
			propValue.append("<" + pd.getName() + ">");
			propValue.append(ret.toString());
			propValue.append("</" + pd.getName() + ">");
		}
		return propValue.toString();
	}
}

 

分享到:
评论

相关推荐

    xml转javaBean,javaBean转xml,xml标签大小写问题,以及对xml特殊符号的处理

    本文将深入探讨XML与JavaBean之间的转换、XML标签的大小写规则、XML特殊符号的处理以及CDATA的生成。 1. XML转JavaBean: 在Java编程中,XML数据经常需要转换为Java对象以便于操作。这一过程通常通过XML解析器来...

    JavaBean 转换为xml的三种方式比较

    将JavaBean转换为XML是常见的数据交换格式转换需求,特别是在Web服务、数据存储或配置文件中。本文将深入探讨三种将JavaBean转换为XML的方法,并进行比较。 1. **JavaBeans API的XMLEncoder** XMLEncoder是...

    javabean和xml互相转换工具类以及jar包

    这个类可能包含静态方法,如`beanToXml(JavaBean bean)`用于将JavaBean转换为XML字符串,以及`xmlToBean(String xml)`用于将XML字符串反向转换回JavaBean。使用这样的工具类可以使代码更加简洁,提高代码复用性。 ...

    javabean生成xml.xml转换成javabean的工具类

    javabean生成xml.xml转换成javabean的工具类

    javabean到XML的转换

    将JavaBean转换为XML是常见的数据序列化方式,有助于在不同系统间共享和存储对象状态。 在Java中,有多种方法可以实现JavaBean到XML的转换,包括使用API如JAXB(Java Architecture for XML Binding)、DOM...

    利用JAXB进行xml和javabean之间转换

    这篇博客将深入探讨如何利用JAXB进行xml和javabean之间的转换。 首先,我们需要了解JAXB的基本工作原理。JAXB通过元数据(如注解或XML绑定文件)来映射Java类到XML元素,以及XML元素到Java类。这使得XML文档能够被...

    xstream 让javabean和xml互相转换

    这篇博客“xstream 让javabean和xml互相转换”深入探讨了如何利用XStream库实现这一功能。 XStream的核心思想是通过反射机制,将Java对象的字段映射到XML的元素和属性,以及反向操作将XML解析回Java对象。它的优势...

    javabean 与 xml文件转换

    生成的XML将类似于: ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; 张三 &lt;age&gt;25 ``` 现在我们来谈谈如何将XML转换回JavaBean。同样利用`JAXB`,但这次我们需要使用`Unmarshaller`。假设我们已经有了一个XML...

    javabean 转换 xml映射文件工具

    JavaBean到XML映射文件工具是一种实用程序,它允许开发者将Java对象(即JavaBean)的数据转换成XML格式的文件,反之亦然。这个工具在处理数据交换、持久化或配置文件时非常有用,特别是在使用像Castor这样的框架时。...

    [经典]自动将任何javabean封装成xml,返回Element对象

    在Java编程中,将javabean转换为XML是常见的需求,特别是在处理数据交换或存储时。这个主题的核心在于如何利用Java的反射API和DOM(Document Object Model)来实现这一过程。下面我们将深入探讨这个过程,以及相关的...

    javaBean生成xml

    JavaBean生成XML是一种常见的数据序列化方式,它允许我们将Java对象转换为XML格式的数据,便于存储、传输或者解析。XStream库是Java中一个高效且易于使用的库,专门用于对象到XML以及XML到对象的映射。下面我们将...

    JavaBean和xml转换

    它会将JavaBean对象转换成XML文档或者XML字符串。 2. **XML to JavaBeans**: 这个过程称为XML到对象的反序列化,通过Unmarshaller接口的unmarshal方法实现。它可以将XML文档或字符串转换成JavaBean对象。 **使用...

    javabean和xml互转详细文档+例子

    它使用JDOM作为XML处理的底层实现,提供了简单易用的API来处理JavaBean到XML以及XML到JavaBean的转换。jox库的优点在于其简洁的API和对JavaBean属性的自动映射,使得开发人员能够快速地进行数据交换。 5. **注意...

    JavaBean-xml-Json转换

    XStream示例代码,JavaBean与XML,JSON之间互相转换(包含完整jar包)jettison-1.3.3.jar、xmlpull-1.1.3.1.jar、xstream-1.4.7.jar

    xml与javabean的转换

    在实际开发中,有时我们需要将XML文件中的数据转换为JavaBean对象,或者将JavaBean对象转换为XML格式的数据,这可以通过一些库来实现,比如Jox。 Jox(Java Object to XML)是一个轻量级的Java库,专门用于在Java...

    xml、xsd、javabean的互相转换

    作为备忘录,实现xml转换成xsd,然后由xsd转换到javabean,最后在xml和javabean之间互相转换。 说明网址:http://blog.csdn.net/beanjoy/article/details/38272051

    xml解析及使用XStream实现javaBean与xml之间的转换

    - 将JavaBean转换为XML:`String xml = xstream.toXML(user);` - 将XML反序列化为JavaBean:`User user = (User) xstream.fromXML(xml);` 4. **XStream与JSON转换** XStream不仅支持XML,还内置了对JSON的支持。...

    xml与javabean之间的相互转换,很方便,导入即可使用

    `toXML()` 方法将JavaBean对象转换成XML字符串,而 `fromXML()` 方法则相反,将XML字符串转换回JavaBean对象。 XStream库还支持处理复杂的Java对象结构,如集合、嵌套对象等,无需额外的配置。同时,它还提供了对...

    avtiviti流程,javabean方式构建xml文件

    DOM允许程序创建和修改XML文档结构,而JAXB则能将Java对象自动转换为XML格式。 4. **处理null值**:在描述流程时,可能有些元素不需要或为空。在转换过程中,对于不需要的元素,可以直接传入null值,或者在JavaBean...

    javabean2xml实例与jox-1.17b3.jar

    首先,BeanXMLMapping组件是JOX库的一部分,它的主要功能是将JavaBean对象转换成XML字符串,或者从XML字符串反序列化回JavaBean对象。这个组件简化了Java对象和XML之间的映射,使得开发者无需手动编写大量的XML解析...

Global site tag (gtag.js) - Google Analytics