CDATA嵌套问题

Posted violety

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CDATA嵌套问题相关的知识,希望对你有一定的参考价值。

在CDATA内部的所有内容都会被解析器忽略。一个 CDATA 部件以"<![CDATA[" 标记开始,以"]]>"标记结束。但是CDATA是不能够嵌套的。

因CDATA嵌套导致的XML解析错误的问题,参考网上处理方式,解决这个问题只需要将"]]>"替换成"]]]]><![CDATA[>",替换后文本作为CDATA参数传入,将原CDATA识别为多个CDATA,自动连接后返回。

多层嵌套同理,即拆分为多段连接即可。

 

<![CDATA[

<Request>

<BankTradeInfo>

<![CDATA[

<Response><TradeCode>4200</TradeCode></Response>

]]>

</BankTradeInfo>

</Request>

]]> 

CDATA里面需要嵌套CDATA,查了一下资料,解决办法主要是将第二个CDATA里面的“]]>”替换为“]]]]><![CDATA[>”

即:

<![CDATA[

<Request>

<BankTradeInfo>

<![CDATA[

<Response><TradeCode>4200</TradeCode></Response>

]]]]><![CDATA[>

</BankTradeInfo>

</Request>

]]> 

以上是关于CDATA嵌套问题的主要内容,如果未能解决你的问题,请参考以下文章

java.lang.IllegalStateException:CDATA 标记不能嵌套

XML CDATA

bboss oreach循环嵌套遍历map

解决luajit ffi cdata引用cdata的问题

关于![CDATA[,它是啥? [复制]

在另一个 CDATA 中使用 CDATA