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之间的转换、XML标签的大小写规则、XML特殊符号的处理以及CDATA的生成。 1. XML转JavaBean: 在Java编程中,XML数据经常需要转换为Java对象以便于操作。这一过程通常通过XML解析器来...
将JavaBean转换为XML是常见的数据交换格式转换需求,特别是在Web服务、数据存储或配置文件中。本文将深入探讨三种将JavaBean转换为XML的方法,并进行比较。 1. **JavaBeans API的XMLEncoder** XMLEncoder是...
这个类可能包含静态方法,如`beanToXml(JavaBean bean)`用于将JavaBean转换为XML字符串,以及`xmlToBean(String xml)`用于将XML字符串反向转换回JavaBean。使用这样的工具类可以使代码更加简洁,提高代码复用性。 ...
javabean生成xml.xml转换成javabean的工具类
将JavaBean转换为XML是常见的数据序列化方式,有助于在不同系统间共享和存储对象状态。 在Java中,有多种方法可以实现JavaBean到XML的转换,包括使用API如JAXB(Java Architecture for XML Binding)、DOM...
这篇博客将深入探讨如何利用JAXB进行xml和javabean之间的转换。 首先,我们需要了解JAXB的基本工作原理。JAXB通过元数据(如注解或XML绑定文件)来映射Java类到XML元素,以及XML元素到Java类。这使得XML文档能够被...
这篇博客“xstream 让javabean和xml互相转换”深入探讨了如何利用XStream库实现这一功能。 XStream的核心思想是通过反射机制,将Java对象的字段映射到XML的元素和属性,以及反向操作将XML解析回Java对象。它的优势...
生成的XML将类似于: ```xml <?xml version="1.0" encoding="UTF-8"?> 张三 <age>25 ``` 现在我们来谈谈如何将XML转换回JavaBean。同样利用`JAXB`,但这次我们需要使用`Unmarshaller`。假设我们已经有了一个XML...
JavaBean到XML映射文件工具是一种实用程序,它允许开发者将Java对象(即JavaBean)的数据转换成XML格式的文件,反之亦然。这个工具在处理数据交换、持久化或配置文件时非常有用,特别是在使用像Castor这样的框架时。...
在Java编程中,将javabean转换为XML是常见的需求,特别是在处理数据交换或存储时。这个主题的核心在于如何利用Java的反射API和DOM(Document Object Model)来实现这一过程。下面我们将深入探讨这个过程,以及相关的...
JavaBean生成XML是一种常见的数据序列化方式,它允许我们将Java对象转换为XML格式的数据,便于存储、传输或者解析。XStream库是Java中一个高效且易于使用的库,专门用于对象到XML以及XML到对象的映射。下面我们将...
它会将JavaBean对象转换成XML文档或者XML字符串。 2. **XML to JavaBeans**: 这个过程称为XML到对象的反序列化,通过Unmarshaller接口的unmarshal方法实现。它可以将XML文档或字符串转换成JavaBean对象。 **使用...
它使用JDOM作为XML处理的底层实现,提供了简单易用的API来处理JavaBean到XML以及XML到JavaBean的转换。jox库的优点在于其简洁的API和对JavaBean属性的自动映射,使得开发人员能够快速地进行数据交换。 5. **注意...
XStream示例代码,JavaBean与XML,JSON之间互相转换(包含完整jar包)jettison-1.3.3.jar、xmlpull-1.1.3.1.jar、xstream-1.4.7.jar
在实际开发中,有时我们需要将XML文件中的数据转换为JavaBean对象,或者将JavaBean对象转换为XML格式的数据,这可以通过一些库来实现,比如Jox。 Jox(Java Object to XML)是一个轻量级的Java库,专门用于在Java...
作为备忘录,实现xml转换成xsd,然后由xsd转换到javabean,最后在xml和javabean之间互相转换。 说明网址:http://blog.csdn.net/beanjoy/article/details/38272051
- 将JavaBean转换为XML:`String xml = xstream.toXML(user);` - 将XML反序列化为JavaBean:`User user = (User) xstream.fromXML(xml);` 4. **XStream与JSON转换** XStream不仅支持XML,还内置了对JSON的支持。...
`toXML()` 方法将JavaBean对象转换成XML字符串,而 `fromXML()` 方法则相反,将XML字符串转换回JavaBean对象。 XStream库还支持处理复杂的Java对象结构,如集合、嵌套对象等,无需额外的配置。同时,它还提供了对...
DOM允许程序创建和修改XML文档结构,而JAXB则能将Java对象自动转换为XML格式。 4. **处理null值**:在描述流程时,可能有些元素不需要或为空。在转换过程中,对于不需要的元素,可以直接传入null值,或者在JavaBean...
首先,BeanXMLMapping组件是JOX库的一部分,它的主要功能是将JavaBean对象转换成XML字符串,或者从XML字符串反序列化回JavaBean对象。这个组件简化了Java对象和XML之间的映射,使得开发者无需手动编写大量的XML解析...