我们正在使用SQL Server 2005,并且正在尝试在数据库中存储XML Type。 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>
答案 0 :(得分:1)
不幸的是,这是剥离CDATA部分及其内容entitized的标准行为。您可以使用cdata的FOR XML EXPLICIT指令在检索时将内容添加到CDATA部分,但根据XML的复杂程度,这可能是精简的。另请参阅此post。