我如何写文字“]]>”在CDATA部分内,没有它结束部分

时间:2009-02-11 18:34:55

标签: xml cdata

非常简单的问题,我正在编写一个XML文档,我不确定如何编写“]]>”没有它被视为该部分的结尾。

3 个答案:

答案 0 :(得分:19)

你可以这样做:

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

这最终会分两部分打破CDATA部分,但这是你必须要做的。

答案 1 :(得分:9)

我认为

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

是要走的路。

那是:

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

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

之后出现文字

http://en.wikipedia.org/wiki/CDATA#Uses_of_CDATA_sections

了解详情

答案 2 :(得分:5)

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

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