如何在没有结束部分的情况下在CDATA部分内写入文字"]]>"

GBa*_*GBa 10 xml cdata

非常简单的问题,我正在编写一个XML文档,我不知道如何编写"]]>"而不会被视为该部分的结尾.

Gre*_*ill 19

你可以这样做:

]]>]]&gt;<![CDATA[
Run Code Online (Sandbox Code Playgroud)

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


Hen*_*aul 9

我认为

<![CDATA[]]]]><![CDATA[>]]>
Run Code Online (Sandbox Code Playgroud)

是要走的路.

那是:

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

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

有关详情,请访问http://en.wikipedia.org/wiki/CDATA#Uses_​​of_CDATA_sections

  • 我不知道这是否是正确的答案,但如果是这样,那是有史以来最糟糕的正确答案.(没有违法行为......我正在评论系统的悲惨程度,而不是你的答案.) (4认同)

Joa*_*uer 5

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

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