XStream支持CDATA标签
来源:互联网 发布:淘宝开店预存金额 编辑:程序博客网 时间:2024/04/29 20:37
在写微信被动消息回复时,遇到需要在xml文件中对String类型增加cdata标签,使用XStream不支持。后来在网上找了一大堆都不行,要不就写的十分复杂懒得看。
后来决定重写了XStream的初始化方法,2步搞定。
protected static String PREFIX_CDATA = "<![CDATA[";protected static String SUFFIX_CDATA = "]]>"; /** * xstream初始化方法实现将String类型的属性增加cdata * @return */ public static XStream initXStream() { return new XStream(new XppDriver() { @Override public HierarchicalStreamWriter createWriter(Writer out) { return new PrettyPrintWriter(out) { boolean iscdata=false; @Overridepublic void startNode(String name, Class clazz) { super.startNode(name, clazz); if(clazz.getName().equals("java.lang.String")){ iscdata=true; }else{ iscdata=false; }}protected void writeText(QuickWriter writer, String text) { if(iscdata){ writer.write(PREFIX_CDATA + text + SUFFIX_CDATA); }else{ writer.write(text); } } }; } }); }
重写startnode方法和writeText方法就ok了
我写的这个是String类型的加CDATA标签,大家可以把startnode方法中的两个参数打印一下,就什么都清楚了,可以根据自己的需要修改。
后来发现微信消息回复可以不用加CDATA标签,狂汗!
1 0
- XStream支持CDATA标签
- XStream支持CDATA标签
- XStream支持CDATA标签
- XStream支持CDATA标签
- 扩展xstream,使其支持CDATA块
- CDATA标签格式
- XStream双下划线问题解决与CDATA标记同时的方案
- XStream对所有xml节点转换时增加CDATA标记
- xstream 小结 一个标签下有多个同名标签
- mybatis中的CDATA标签的用法
- mybatis中的CDATA标签的用法
- mybatis中的CDATA标签的用法
- mybatis中的CDATA标签的用法
- mybatis中的CDATA标签的用法
- Mybatis中的CDATA标签的用法
- Mybatis中的CDATA标签的用法
- CDATA
- CDATA
- OpenCV 2.4.3 C++ 平滑处理分析
- springboot笔记(2)springboot-Mybatis使用
- ZooKeeper集群
- 80老翁谈人生(329):伸展双臂,迎接网络空间基本法的实施
- 15-16年总结——拨开云雾终见青天
- XStream支持CDATA标签
- Opencv 处理图片增加文字
- 【小C出品】应学员的要求,java实现基于eclipse插件杀死TOMCAT进程的代码
- Struts2基础总结-2
- opencv 中关于BOW模型的实现以及相关的函数解释
- CSS3的选择器(一)
- 关于junit单元测试框架的使用
- 判断闰年的条件
- opencv提取SIFT特征