微信开发,对象转换为xml时候引用XStream这个类报错处理方案
报错的信息为:The type org.xmlpull.v1.XmlPullParser cannot
be resolved.
/**
* 扩展XStream 支持CDATA
*/
private static XStream xstream = new XStream(new XppDriver(){
public HierarchicalStreamWriter createWriter(Writer out) {
return new PrettyPrintWriter(out){
//对全部XML节点的转换加入CDATA标志
boolean cdata =true;
@SuppressWarnings("unchecked")
public void starNode(String name,Class clazz) {
super.startNode(name,clazz);
}
protected void writeText(QuickWriter writer,String text) {
if(cdata){
writer.write("<![CDATA[");
writer.write(text);
writer.write("]]>");
}else {
writer.write(text);
}
}
};
}
});
/**
* 文本消息对象转换为xml
* @param textMessage 文本消息对象
* @return
*/
public static String messageToXml(TextMessage textMessage) {
xstream.alias("xml", textMessage.getClass());
return xstream.toXML(textMessage);
}
/**
* 图片消息对象转换为xml
* @param imageMessage 图片消息对象
* @return
*/
public static String messageToXml(ImageMessage imageMessage) {
xstream.alias("xml", imageMessage.getClass());
return xstream.toXML(imageMessage);
}
/**
* 语音消息对象转换为xml
* @param voiceMessage 语音消息对象
* @return
*/
public static String messageToXml(VoiceMessage voiceMessage) {
xstream.alias("xml", voiceMessage.getClass());
return xstream.toXML(voiceMessage);
}
/**
* 视频消息对象转换为xml
* @param videoMessage 视频消息对象
* @return
*/
public static String messageToXml(VideoMessage videoMessage) {
xstream.alias("xml", videoMessage.getClass());
return xstream.toXML(videoMessage);
}
/**
* 音乐消息对象转换为xml
* @param musicMessage 音乐消息对象
* @return
*/
public static String messageToXml(MusicMessage musicMessage) {
xstream.alias("xml", musicMessage.getClass());
return xstream.toXML(musicMessage);
}
/**
* 图文消息对象转换为xml
* @param newsMessage 图文消息对象
* @return
*/
public static String messageToXml(NewsMessage newsMessage) {
xstream.alias("xml", newsMessage.getClass());
xstream.alias("item", new Article().getClass());
return xstream.toXML(newsMessage);
}
}
处理的方法就是
在当前类的第一行(package位置)会提示:Multiple markers at this line
- The type org.xmlpull.v1.XmlPullParser cannot be resolved. It is indirectly referenced from required .class files
- The type org.xmlpull.v1.XmlPullParser cannot be resolved. It is indirectly referenced from required .class files
- The type org.xmlpull.v1.XmlPullParserException cannot be resolved. It is indirectly referenced from
required .class files
这种信息,这是由于XStream仅仅是一个jar文件,可是它里面会依赖一个jar包,依赖的jar包是:xmlpull_1_0_5.jar、仅仅要把这个jar包引入之后。问题就可以解决!
微信开发,对象转换为xml时候引用XStream这个类报错处理方案的更多相关文章
- Java&Xml教程(八)使用JDOM将Java对象转换为XML
在前面的教程中我们学习了如何使用JDOM解析和修改XML文件内容,本节介绍如何将Java对象转换为XML数据并生成文件. JDOM的Document类提供了便捷的方法创建元素和属性,XMLOutput ...
- web.xml配置文件中<async-supported>true</async-supported>报错
web.xml配置文件中<async-supported>true</async-supported>报错 http://blog.csdn.net/dream_ll/arti ...
- 今天微信小程序发现wx.request不好使了,调试报错: 小程序要求的 TLS 版本必须大于等于 1.2
今天微信小程序发现wx.request不好使了,调试报错: 小程序要求的 TLS 版本必须大于等于 1.2 查官方文档 解决方法 在 PowerShell中运行以下内容, 然后重启服务器 # Enab ...
- 微信公众号开发上传图文素材带有卡片小程序报错:errcode=45166,errmsg = invalid content hint
微信公众号开发自从支持允许在群发图文中插入小程序,方便了小程序的运营及推广.最近在三方服务开发中,要支持图文素材插入小程序遇到了一个很是棘手的问题.官方给出的插入小程序的示例支持文字.图片.卡片.如下 ...
- 用XmlSerializer进行xml反序列化的时候,程序报错: 不应有 <xml xmlns=''>
原因 一,类型错误: 比如xml本来是UserInfo类型 用XmlSerializer进行反序列化传入的类型是MemberInfo这就会报错 二,xml根节点和对象的类名不一致,而又没有对类加入[X ...
- web.xml配置文件中<async-supported>true</async-supported>报错的解决方案
为什么用到这个: ssh集成了cxf,当登录系统后,发现系统报错,控制台不断输出下面信息: 2016-05-05 11:05:06 - [http-bio-8080-exec-4] - WARN - ...
- 微信小程序中 this.setData is not a function报错
在微信小程序中我们一般通过以下方式来修改data中的数据: 比如获取小程序缓存: wx.getStorage({ key: 'is_screen', success: function (res) { ...
- 关于mybatis的xml文件中使用 >= 或者 <= 号报错的解决方案
当我们需要通过xml格式处理sql语句时,经常会用到< ,<=,>,>=等符号,但是很容易引起xml格式的错误,这样会导致后台将xml字符串转换为xml文档时报错,从而导致程序 ...
- 微信开发者工具导入 wepy 项目“app.json 未找到”报错解决方法
版本信息: 微信开发者工具:1.03.2101150 wepy:2.0 wepy/cli:6.14.8 问题描述 按照 wepy 文档中的步骤新建项目: $ npm install @wepy/cli ...
随机推荐
- 【pyhon】理想论坛爬虫1.08
#------------------------------------------------------------------------------------ # 理想论坛爬虫1.08,用 ...
- 【.NET中AOP的实现方案】静态代理
Spring AOP 应该是比较出名的了,今天说的是C#里的AOP,C#的AOP实现的方式有很多种,现在就先介绍静态代理的实现方案: 模拟场景:我们在删除用户,或者更新用户的时候进行数据原始备份,这样 ...
- 【CSS】瀑布流布局的两种方式:传统多列浮动和绝对定位布局
传统多列浮动 各列固定宽度,并且左浮动: 一列中的数据块为一组,列中的每个数据块依次排列即可: 更多数据加载时,需要分别插入到不同的列上: 优点: (1)布局简单,应该说没啥特别的难点: (2)不用明 ...
- uni - 介绍
uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS.Android.H5.小程序等多个平台 优点:基于vue.mpvue.微信小程序 微信小程序AP ...
- "高可用方案工具包" high availability toolkit 1.2 公布了。version 1.2 新增了 负载均衡 load balance 的技术实现
"高可用方案工具包" high availability toolkit 1.2 公布了. version 1.2 新增了 负载均衡 load balance 的技术实现. 项目 ...
- 安装ubuntu后不能从ubuntu引导修复方法
sudo fdisk -l sudo -i mkdir /media/tempdir mount /dev/sda7 /media/tempdir grub-install --root-direct ...
- poj 2226 二分图 最小点覆盖 , 最大流
题目就是问怎样用最小的板覆盖全部的草地.能够横着放.也能够竖着放,同意一个草地放多个点. 建图方法就是 每一个横向的草地作为X,纵向连续的草地作为Y. X连接Y的边表示, 这里有他们的公共点 ...
- properties转yml
分享一个在线properties 转 yml工具,也支持yml转properteis: http://toyaml.com/ 域名非常好记:to yaml .com yml,即yaml文本格式文件的后 ...
- 关于free使用注意
1,free的指针应该是通过 malloc calloc realloc 申请过内存的. 2,free的带有指针元素的结构体时要注意释放结构体的元素指针. 3,对于指向同一块内存的两个或多个指针,如果 ...
- springmvc编码问题
web.xml中加入 <filter> <filter-name>encodingFilter</filter-name> <filter-class> ...