【发布时间】:2012-10-03 08:50:53
【问题描述】:
我遇到了这种困难的情况,我需要在另一个 CDATA 标记中使用 CDATA 标记。这种情况很容易解释。
我有以下事情:
<edit>
<![CDATA[
<script type="text/javascript">
<![CDATA[
window.onload = function()
{
document.getElementById('block').onclick = function()
{
this.onclick = '';
this.value = '{LA_SEND_CONFIRM}';
this.className = this.className.replace('button1','');
document.getElementById('replacement').value = '{LA_BLOCK_CODE}';
}
}
]]>
</script>
]]>
</edit>
为了显示目的,我还需要将我的 Javascript 包装在 CDATA 中,因此当我打开该 XML 文件时,它会正确显示,并且 Javascript 代码位于这些 CDATA 标记中。它们在 XML 文件本身中没有实际意义。
如您所知,上面的代码会给我一个 XML 解析错误,因为嵌套 CDATA 不起作用。有没有办法逃脱 ]]> 以便我可以向我的用户显示这些括号?
我希望我已经足够清楚了。
【问题讨论】:
-
为什么不能有一个
CDATA部分来包裹整个<script>元素? -
"CDATA 部分不能包含字符串 "]]>"。不允许嵌套 CDATA 部分。": w3schools.com/xml/xml_cdata.asp
-
@Oded 我想将
<![CDATA[ JS here ]]>作为字符串显示给我的用户。因此,当有人打开我的 XML 文件时,他们只能看到 Javascript 的 CDATA 部分。我以为我已经解释过了。 -
您可以在this existing question 和我的回答中找到一些帮助。
标签: xml xml-parsing cdata