微信开发不用xstream来将对象解析成xml

背景:最近在研究微信开发,而且是在基于java 开发,所以参考了柳峰的博客关于将消息封装成xml格式返回开源框架xstream来实现Java类到xml的转换,但是就像好多人所发现的一样,配置好之后通过手机微信端访问会报错:访问/coreServlet时报了一个错误NoClassDefFoundError(类找不到),并且提示org.liufeng.weixin.util.MessageUtil类不能被实例化。这里柳峰也给出了解决方案:NoClassDeffoundError解决方案但是这也不是很好的办法。所以自己也尝试了通过其它方法来解决问题,首先考虑基于目前应用运行的环境已有的lib包:dom4j.jar来解决。dom4j里面的JAXBContextjaxbContext来获得要解析的Class类,这里需要下载dom4j.jar包,用MarshallerjaxbMarshaller来将生成实例,然后用jaxbMarshaller.marshal(textMessage,writer)来生成xml文件。 但是问题来了,怎样让writer生成的xml格式化输出呢。因为微信返回消息有些是CDATA。想了很多办法,目前没有解决这个问题,恳请各位高手指点。

public static String textMessageToXml(TextMessage textMessage) {
			JAXBContext jaxbContext = JAXBContext.newInstance(TextMessage.class);
			Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
			// output pretty printed  
			jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,true);
			Writer writer = new StringWriter();
			format.setSuppressDeclaration(true); 	
			jaxbMarshaller.marshal(textMessage,writer);
			System.out.println("修改好之后的xml:"+xmlWriter);
			return xmlWriter.toString();	
	}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇