import java.util.Iterator;
import java.util.Map;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import com.thoughtworks.xstream.io.xml.XmlFriendlyReplacer;
import com.thoughtworks.xstream.io.xml.XppDriver;
@SuppressWarnings("deprecation")
public class XMLBeanUtils {
/**
* 将Bean转换为XML
*
* @param clazzMap
* 别名-类名映射Map
* @param bean
* 要转换为xml的bean对象
* @return XML字符串
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
public static String bean2xml(Map<String, Class> clazzMap, Object bean) {
XStream xstream = new XStream(new XppDriver(new XmlFriendlyReplacer("_-", "_")));
for (Iterator it = clazzMap.entrySet().iterator(); it.hasNext();) {
Map.Entry<String, Class> m = (Map.Entry<String, Class>) it.next();
xstream.alias(m.getKey(), m.getValue());
}
String xml = xstream.toXML(bean);
return xml;
}
/**
* 将XML转换为Bean
*
* @param clazzMap
* 别名-类名映射Map
* @param xml
* 要转换为bean对象的xml字符串
* @return Java Bean对象
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public static Object xml2Bean(Map<String, Class> clazzMap, String xml) {
XStream xstream = new XStream(new DomDriver());
for (Iterator it = clazzMap.entrySet().iterator(); it.hasNext();) {
Map.Entry<String, Class> m = (Map.Entry<String, Class>) it.next();
xstream.alias(m.getKey(), m.getValue());
}
Object bean = xstream.fromXML(xml);
return bean;
}
/**
* 获取XStream对象 `
*
* @param clazzMap
* 别名-类名映射Map
* @return XStream对象
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public static XStream getXStreamObject(Map<String, Class> clazzMap) {
XStream xstream = new XStream(new DomDriver());
for (Iterator it = clazzMap.entrySet().iterator(); it.hasNext();) {
Map.Entry<String, Class> m = (Map.Entry<String, Class>) it.next();
xstream.alias(m.getKey(), m.getValue());
}
return xstream;
}
}
分享到:
相关推荐
xtream解析xml,是一个不错的文档哦
使用Xtream解析xml,生成对应的对象。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
Xtream 这是一个允许将结构插入XML解组树的库。 因此,您可以通过按需插入描述此XML文档某些部分的更具体的结构来解析任意XML。 TODO:添加示例和更好的解释
Xtream是Java的开源复杂事件处理库。 如果您正在寻找仅用于提交一些查询的基于Java的cep,则有更好的选择(例如Esper),但是如果您需要一个简单易懂的CEP库来对其进行处理,扩展,使用它,尤其是用于研究流处理,...
可用的xstream的所有依赖包
内容:博客代码 一次代码重构之旅-快速读写xml文件工具类封装 http://blog.csdn.net/lk_blog/article/details/8220803
ai插件 Xtream Path_汉化版
Xtream ToolKit 使用总结 Xtream ToolKit 使用总结 Xtream ToolKit 使用总结Xtream ToolKit 使用总结
CValley Xtream Path是一款国外开发的超强大的Adobe Illustrator的路径编辑插件。使用Xtream Path可以实现很多对于路径的操作(拖曳,拉伸,推动等),当编辑路径时也不会受控制点的约束,允许把路径拖曳到任何地方,...
CValley Xtream Path是一款国外开发的超强大的Adobe Illustrator的路径编辑插件。使用Xtream Path可以实现很多对于路径的操作(拖曳,拉伸,推动等),当编辑路径时也不会受控制点的约束,允许把路径拖曳到任何地方,...
将其放到AI CS5的Plug-ins里即可在工具栏调用
Xtream_Path illustrator插件 一个超棒的使用的illustrator插件
xtream path 1 5 for cs6亲测有效 里面有注册码 32位和64位的都有 安装方法不再赘述 功能非常强大的一个插件 还有插件使用说明书 绝对的极品珍惜资源 学AI必备
#JDSerngng 一个 Burp Extender 插件,它将反序列化 java 对象并使用库将它们编码为 XML。 为什么? 此版本修复了 JDSer-ng 中其他实现中的错误,该错误实际上不允许修改请求。 还进一步扩展了它,允许正确使用 ...
AI圆角插件 - CValley Xtream Path v1.6 for Adobe Illustrator - FOSI 相信大家和足迹一样,从Adobe CS6出世的那天就在等待同版本的圆角插件的面世,有的恐怕和足迹一样为了使用圆角插件而选择安装两个版本的ai,...
NULL 博文链接:https://wang38361640.iteye.com/blog/621735
javaBean生成xml,xtream使用例子
Now with Xtream Path, you can drag anywhere on a path without fiddling around with direction lines and control points. Boasting 36 useful tools, filters, and effects, it gives you the flexibility ...
包含xtream相关jar包,项目导入运行即可简单测试,实现xml与java对象的相互转化
XStream开发时使用的包,官网原句:XStream is a simple library to serialize objects to XML and back again. ...String str = xtream.toXML(Object); 将xml转换成相应对象: Object obj = xtream.fromXML(str);