【问题标题】:SQL Server XmlType not preserving the CDATA elementSQL Server XmlType 不保留 CDATA 元素
【发布时间】:2011-03-29 12:21:55
【问题描述】:

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

【问题讨论】:

    标签: xml sql-server-2005 cdata xmltype


    【解决方案1】:

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

    【讨论】:

    • 无赖...我所期望的——我们正在使用休眠与 JQL 接口,所以在 FOR XML 语法上没有运气——我将字段转换为 NTEXT——我们不需要查询 XML无论如何,他的数据库......
    猜你喜欢
    • 2013-03-19
    • 1970-01-01
    • 2017-01-24
    • 2012-11-23
    • 2014-10-07
    • 2022-06-21
    • 1970-01-01
    • 2023-03-29
    • 2016-11-24
    相关资源
    最近更新 更多