将javabean转化成xml格式
程序员文章站
2022-03-02 10:28:30
...
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();
}
}
推荐阅读
-
把从SQL中取出的数据转化成XMl格式
-
将 Word 格式和属性与自定义 XML 数据一起保存
-
使用java将xml报文格式转为json格式工具类
-
将HTML表单数据存储为XML格式 - 1
-
Python批量将csv文件转化成xml文件的实例
-
解决python将xml格式文件转换成txt文件的问题(xml.etree方法)
-
使用XStream将xml字符串(文件)反序列化为javaBean去掉最外层(或根节点)的一种方法
-
怎么将SimpleXMLElement的asXML方法输出的xml字符串格式化
-
将Access数据转换为XML格式_MySQL
-
跨平台图表控件TeeChart使用教程:将图表数据导出为XML格式