调研了 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的

记录一下, 有坑,请绕行  

XML CData 处理的更多相关文章

  1. XML CDATA的作用

    操作XML文件时,如果允许用户输入内容,例如∶"< ".">"."/".""等,当生成XML时,会破坏了XM ...

  2. (转)XML CDATA是什么?

    解析数据 XML 解析器通常情况下会处理XML文档中的所有文本. 当XML元素被解析的时候,XML元素内部的文本也会被解析: <message>This text is also pars ...

  3. XML CDATA(Mybatis mapper and XML)

    Tip:must be followed by either attribute specifications, ">" or "/>". 所有 X ...

  4. 雷林鹏分享: XML CDATA

    XML CDATA XML 文档中的所有文本均会被解析器解析. 只有 CDATA 区段中的文本会被解析器忽略. PCDATA - 被解析的字符数据 XML 解析器通常会解析 XML 文档中所有的文本. ...

  5. XML CDATA是什么?

    XML CDATA是什么? 投稿:mdxy-dxy 字体:[增加 减小] 类型:转载   这篇文章主要为大家介绍下XML CDATA是什么,学习xml的朋友可以参考下     All text in ...

  6. XML CDATA节点

    术语CDATA指字符数据.CDATA定义为文本块,但识别为标记. 预定义实体的同位素;,密度,并且与放大器;需要打字并且通常难以阅读的标记.在这种情况下,CDATA部分都可以使用.通过使用CDATA节 ...

  7. XML CDATA

    /* <![CDATA[ */var mv_dynamic_to_top = {"text":"To Top","version":& ...

  8. XML CDATA识别“<,>”

    http://www.w3school.com.cn/xml/xml_cdata.asp 术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Dat ...

  9. XML文件中CDATA的作用

    操作XML文件时,如果允许用户输入内容,例如∶"< ".">"."/".""等,当生成XML时,会破坏了XM ...

随机推荐

  1. Scala偏函数与部分函数

    函数 1.部分函数 部分应用函数(Partial Applied Function)是缺少部分参数的函数,是一个逻辑上概念. def sum(x: Int, y: Int, z: Int) = x + ...

  2. cmder简单使用

    window命令行的替代工具cmder.至于为什么要找个替代cmd的工具,你懂得! 一 官网下载 http://gooseberrycreative.com/cmder/ 二 安装 1 直接解压 2 ...

  3. WebRequest请求被中止: 未能创建 SSL/TLS 安全通道

    使用System.Net.WebRequest.Create(url)抓取某网站信息时 ,出现“未能创建 SSL/TLS 安全通道”此条异常信息 解决方案 引用:using System.Net; 在 ...

  4. django drf 动态权限配置和动态seriaizer_class配置

    可以通过重写get_permissions方法和get_serializers_class方法来实现动态的配置权限和序列化 VIewDemo class RegUserSet(mixins.Creat ...

  5. window / Linux 下 Golang 开发环境的配置

    一直专注于使用python语言进行程序开发,但是却又一直被它的性能问题所困扰,直到遇到了天生支持高并发的Golang,这似乎也成了学习go语言最理所当然的理由.下面介绍下Go语言开发环境搭建的步骤: ...

  6. Geometry-587. Erect the Fence

    There are some trees, where each tree is represented by (x,y) coordinate in a two-dimensional garden ...

  7. 使用VS Code开发.Net Core 2.0 MVC Web应用程序教程之一

    好吧,现在我们假设你已经安装好了VS Code开发工具..Net Core 2.0预览版的SDK dotnet-sdk-2.0.0(注意自己的操作系统),并且已经为VS Code安装好了C#扩展(在V ...

  8. zookeeper基本操作

    理解Zookeeper的一种方法是将他视为一个提供高可用性的文件系统.它没有文件和目录,但是有一个统一概念的节点,叫做znode,作为数据以及其他znode的容器.znode来自于一个层次级的命名空间 ...

  9. javascript浅拷贝深拷贝理解记录

    javascript的深拷贝和浅拷贝问题几乎是面试必问的问题.好记性不如烂笔头,特此来记录一下自己对深拷贝浅拷贝的理解. 顾名思义,拷贝就是copy复制,在js中可以浅而理解为对一个对象或者数组的复制 ...

  10. 多线程:多读少写锁(Readers–writer lock)

    先来几个同义词 readers–writer (RW) lock shared - exclusive lock multiple readers/single-writer lock multi-r ...