我试图在描述字段中创建CDATA部分,但失败了.代码非常简单,但在生成的
XML中没有出现CDATA部分!
Node de = document.createElement("description"); de.appendChild(document.createCDATASection(reportData.getIssue().getDescription() + "more]]>data")); e.appendChild(de);
在结果XML中,我得到:
<description>Room #1128 has AD issues.more]]>data</description>
我究竟做错了什么?!
解决方法
序列]]>终止CDATA部分,因此不能出现在CDATA部分中.
您的XML库正在通过放弃CDATA部分并使用实体来恢复具有特殊含义的字符来恢复.
由于< foo><![CDATA [Hello,world>]]>< / foo>和< foo> Hello,world& gt;< / foo>等价,这不是问题(除非有人试图用不是XML解析器的工具解析生成的XML,这种方式是疯狂的).