微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 创建CDATA部分令人困惑

我试图在描述字段中创建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]]&gt;data</description>

我究竟做错了什么?!

解决方法

序列]]>终止CDATA部分,因此不能出现在CDATA部分中.

您的XML库正在通过放弃CDATA部分并使用实体来恢复具有特殊含义的字符来恢复.

由于< foo><![CDATA [Hello,world>]]>< / foo>和< foo> Hello,world& gt;< / foo>等价,这不是问题(除非有人试图用不是XML解析器的工具解析生成的XML,这种方式是疯狂的).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐