3

我们正在使用 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>
4

1 回答 1

1

不幸的是,这是标准行为,其中 CDATA 部分被剥离并且其内容被实体化。您可以在检索时使用FOR XML EXPLICIT的cdata指令将内容添加到 CDATA 部分,但根据您的 XML 的复杂性,这可能会很麻烦。另外,请参阅此帖子

于 2010-08-13T22:04:20.580 回答