在解析带有嵌套CDATA部分的XML时遇到问题。 CDATA部分如下:
<![CDATA[*** some text
[ ! <![CDATA[some text]]> ! ]
<![CDATA[some text]]>
]]>
当这种类型的数据出现在XML标记中时,在解析XML时会出现错误,因为有两个结束标记]]>。谁能建议我该怎么做,或者我应该逃脱什么角色才能完成这项工作?我正在使用Java1.8。
答案 0 :(得分:1)
解析此输入时遇到问题的原因是它不是XML。您需要找出生成该非XML的程序并对其进行修复。
如果要生成XML,则每当创建可能包含序列]]>
的文本节点(无论它是否表示嵌套CDATA节的结尾)时,都需要以某种方式对其进行转义。许多人会选择阻力最小的路径,并在出现的任何地方都像>
一样逃避>
,但是从技术上讲,只有在>
后面带有]]
时才需要这样做。>