SQL Server XmlType не сохраняет элемент CDATA - PullRequest
3 голосов
/ 13 августа 2010

Мы используем SQL Server 2005 и пытаемся сохранить тип XML в базе данных. Тип XML имеет элемент, который должен содержать содержимое в CDATA, но после вставки поле, похоже, удаляет CDATA и сохраняет элемент без него ...

Кто-нибудь испытывал или даже разрешал это в прошлом?

Удобный пример:

create table t (x xml)

insert into t values  ('<test>kjhghk</test>')
insert into t  values ('<test><![CDATA[kjhghk]]></test>')
select * from t

drop table t

Результаты:

<test>kjhghk</test>
<test>kjhghk</test>

1 Ответ

1 голос
/ 14 августа 2010

К сожалению, это стандартное поведение, когда раздел CDATA удаляется и его содержимое имеет право . Вы можете использовать директиву cdata FOR XML EXPLICIT для добавления содержимого в раздел CDATA при извлечении, но в зависимости от сложности вашего XML это может быть неудобно. Также смотрите этот пост .

...