Если нет специальных символов, таких как «&
» и «<
» в содержании, строка
<![CDATA[xxxxx]]>
означает, точно так же, как
xxxxx
Разница заключается в том, что во втором формы, «&
» и «<
» имеют особое значение, а в форме CDATA единственное, что имеет особое значение, это строка «]]>
», которая действует как ограничитель.
Ваш более сложный пример:
<![CDATA[<![CDATA[TAX INVOICE]]]]><![CDATA[>]]>
немного кошмара, и результаты от небрежного программирования привычки оберточной текст в разделах CDATA из лени. Разделы CDATA не могут быть вложенными, так что первая ]]>
завершает первый <!CDATA[
, что означает, что строка эквивалентна
<![CDATA[TAX INVOICE]]>
Вы могли бы подумать, что это, в свою очередь эквивалентно
TAX INVOICE
но это не так, потому что анализатор XML будет интерпретировать только внешние ограничители CDATA, поэтому контент, который он передает в приложение, поэтому
<![CDATA[TAX INVOICE]]>
В отличие от форумах, мы не используем «Спасибо» или «Любая помощь оценена» или подписи на [so]. См. «[Должны ли« Привет »,« спасибо », теги и приветствия удалены из сообщений?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -removed-from-posts). –
@RGraham благодарит приятеля за то, что он указал мне на правильное решение. –