10

非常简单的问题,我正在编写一个 XML 文档,但我不确定如何编写“]]>”而不将其视为本节的结尾。

4

3 回答 3

19

你可以这样做:

]]>]]&gt;<![CDATA[

这最终将 CDATA 部分分成两部分,但这是您必须做的。

于 2009-02-11T18:37:34.203 回答
9

我认为

<![CDATA[]]]]><![CDATA[>]]>

是要走的路。

那是:

  • 一个包含文字字符串]]( <![CDATA[]]]]>)的 CDATA 部分
  • 一个包含文字字符串>( <![CDATA[>]]>)的 CDATA 部分

在实践中,可能会在第一个之前]]和/或之后有文本>

在http://en.wikipedia.org/wiki/CDATA#Uses_​​of_CDATA_sections查看更多信息

于 2009-02-11T18:37:53.407 回答
5

你不能。CDATA 不提供任何转义字符的方法,因此这些字符将始终表示 CDATA 部分的结尾。但是,您可以让他们结束 CDATA 部分,添加“ ]]&gt;”并使用“”开始一个新的部分<![CDATA[

这样,字符串 " ]]>]]&gt;<![CDATA[" 几乎具有在 CDATA 部分中作为 "`]]>" 转义的效果。

于 2009-02-11T18:37:46.057 回答