XML CData 处理

调研了 JAXB、XMLMapper(jackson)

 

具体方式 实现 优势
JAXB

1. 需要增加 CDATA 的Adaptor

2. 需要增加对非CDATA 的 CharacterEscapeHandler

标准
jackson

1. xmlmapper

标注 @JacksonXmlCData

简单灵活

 

结论:在这个场景需求下, 还是使用jackson吧, JAXB 网上也有一些拥护方, 去年读了一些JAXB的文档, 感觉专家把东西定义复杂了,好多东西不支持。

举例: 对象继承关系影响了 xml的生成。

如 

@XmlRootElement(name="Result")
abstract class Base{
 int x;
}

class Request1 extends Base{
   string name;
}

class Request2 extends Base{
  string protocol;
  string version;
}


这种方法是不work的

 

记录一下, 有坑,请绕行  

posted @ 2018-04-03 16:24  风云力  阅读(539)  评论(0编辑  收藏  举报