Как написать литерал "]]>" внутри раздела CDATA без его окончания раздела

Довольно простой вопрос: я пишу XML-документ, и я не уверен, как писать "]] > " без его просмотра в качестве конца раздела.

Ответ 1

Вы можете сделать это следующим образом:

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

Это заканчивает разрыв раздела CDATA в двух частях, но это то, что вам нужно сделать.

Ответ 2

Я думаю,

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

- путь.

То есть:

  • один раздел CDATA, содержащий литеральную строку ]] (<![CDATA[]]]]>)
  • один раздел CDATA, содержащий литеральную строку > (<![CDATA[>]]>)

На практике, вероятно, будет текст перед первым ]] и/или после >

Подробнее на http://en.wikipedia.org/wiki/CDATA#Uses_of_CDATA_sections

Ответ 3

Вы не можете. CDATA не предоставляет никакого способа избежать символов, поэтому эти символы всегда будут представлять конец раздела CDATA. Вы можете, однако, разрешить им закончить раздел CDATA, добавить "]]&gt;" и запустить новый с помощью "<![CDATA[".

Таким образом, строка "]]>]]&gt;<![CDATA[" имеет почти эффект перехода на "`]] > " в разделе CDATA.