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的
记录一下, 有坑,请绕行