无法解析带有嵌套CDATA部分的XML

时间:2018-08-10 07:53:50

标签: java xml dom

在解析带有嵌套CDATA部分的XML时遇到问题。 CDATA部分如下:

<![CDATA[*** some text

[ !  <![CDATA[some text]]>  ! ]

<![CDATA[some text]]>

]]>

当这种类型的数据出现在XML标记中时,在解析XML时会出现错误,因为有两个结束标记]]>。谁能建议我该怎么做,或者我应该逃脱什么角色才能完成这项工作?我正在使用Java1.8。

1 个答案:

答案 0 :(得分:1)

解析此输入时遇到问题的原因是它不是XML。您需要找出生成该非XML的程序并对其进行修复。

如果要生成XML,则每当创建可能包含序列]]>的文本节点(无论它是否表示嵌套CDATA节的结尾)时,都需要以某种方式对其进行转义。许多人会选择阻力最小的路径,并在出现的任何地方都像>一样逃避&gt;,但是从技术上讲,只有在>后面带有]]时才需要这样做。