Что означает <! [CDATA []]> в XML? - PullRequest
924 голосов
/ 07 мая 2010

Я часто нахожу этот странный тег CDATA в XML файлах:

<![CDATA[some stuff]]>

Я заметил, что этот тег CDATA всегда появляется в начале, а затем сопровождается некоторыми элементами.1007 *

Но иногда это используется, иногда нет.Я предполагаю, что это означает, что some stuff - это «данные», которые будут вставлены после этого.Но что это за данные some stuff?Разве что-то, что я пишу в тегах XML, не является чем-то вроде данных?

Ответы [ 12 ]

1 голос
/ 19 ноября 2013

Cdata - это данные, которые вы, возможно, захотите передать в синтаксический анализатор xml, но они все еще не интерпретируются как xml.

Скажите, например: - У вас есть xml, в котором есть объект вопроса / ответа. Такие открытые поля могут иметь любые данные, которые строго не подпадают под базовый тип данных или определенные пользователем типы данных xml. Как - Это правильный тег для xml-комментария? .-- У вас может быть требование передать его как есть, без интерпретации анализатором xml как другого дочернего элемента. Здесь Cdata приходит на помощь. Объявляя Cdata, вы говорите парсеру не обрабатывать данные, обернутые в XML (хотя они могут выглядеть как один)

1 голос
/ 07 мая 2010

Обычно используется для встраивания пользовательских данных, таких как изображения или звуковые данные, в документ XML.

...