微信---利用JAXB和EclipseLink MOXy实现 CDATA数据转换demo
来源:互联网 发布:java查询oracle数据库 编辑:程序博客网 时间:2024/06/05 21:18
概述:
最近在弄微信,大家都知道微信是CDATA数据转换,这个挺头疼的,在网上找的EclipseLink很好用。
这里采用maven工程
1、第一步引用jar包
<dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>org.eclipse.persistence.moxy</artifactId> <version>2.7.0-RC1</version></dependency>
2、写一个普通java bean
import javax.xml.bind.annotation.XmlRootElement;import org.eclipse.persistence.oxm.annotations.XmlCDATA;@XmlRootElement(name="c")public class Customer {private String bio;@XmlCDATApublic String getBio() {return bio;}public void setBio(String bio) {this.bio = bio;}}
注意注解 @XmlCDATA就是生成cdata结构的数据
3、添加一个属性文件(替换默认java的工厂类)
文件结构
名称:jaxb.properties
内容:
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
4、测试用例
import java.io.StringReader;import javax.xml.bind.JAXBContext;import javax.xml.bind.Marshaller;import javax.xml.bind.Unmarshaller;public class Demo {public static void main(String[] args) throws Exception {JAXBContext jc = JAXBContext.newInstance(Customer.class);Unmarshaller u = jc.createUnmarshaller();String xml = "<c><bio><![CDATA[O(∩_∩)O哈哈哈~]]></bio></c>";Customer c = (Customer) u.unmarshal(new StringReader(xml)); System.out.println("Unmarshal: " + c.getBio()); Marshaller m = jc.createMarshaller(); m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); m.setProperty(Marshaller.JAXB_FRAGMENT, true); Customer cs = new Customer(); cs.setBio("122323232"); System.out.print("Marshal: "); m.marshal(cs, System.out);}}
5、日志
Unmarshal: O(∩_∩)O哈哈哈~Marshal: <c> <bio><![CDATA[122323232]]></bio></c>
注意:这属性文件必须要添加,不然没有效果
阅读全文
0 0
- 微信---利用JAXB和EclipseLink MOXy实现 CDATA数据转换demo
- 利用JAXB实现java对象和xml的相互转换
- 利用JAXB实现java实体类和xml互相转换
- 利用JAXB实现xml和bean之间的转换(一)
- JavaEE中利用JAXB来实现Java对象和XML文档进行相互转换
- 利用JAXB实现xml和bean之间的转换(一)
- JAXB实现JavaBean和xml互相转换
- eclipselink->JAXB:官网、API、文档
- 利用JAXB进行xml和javabean之间转换
- 利用JAXB进行xml和javabean之间转换
- 转:利用JAXB进行xml和javabean之间转换
- JAXB实现JAVA对象和XML字符串的互相转换
- 通过jaxb实现javabean和xml的转换
- JAXB转换xml和JavaBean
- JAXB控制CDATA节点转义
- JAXB将JAVA对象转换为XML时CDATA的问题
- JAXB将JAVA对象转换为XML时CDATA的问题
- eclipseLink中TENANT实现
- http笔记整理之报文
- XUNUOJ 问题 C: 背包问题
- matlab日常问题
- Android OkHttp解析
- Oracle中快速导入导出数据库的几种方式
- 微信---利用JAXB和EclipseLink MOXy实现 CDATA数据转换demo
- 杭电acm1002 大数相加
- struts2,hibernate4,spring3配置时有关问题汇总及解决方法
- 二分图的多重匹配
- 命令行参数
- pandas入门——数据转换
- bit、byte、位、字节、汉字、字符之间的区别
- Web内容回顾
- yii POST提交 Bad Request (#400)---Unable to verify your data submission的错误解决方法