在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>
]]>