【发布时间】:2010-04-12 22:50:16
【问题描述】:
我相当精通 SQLServer,但我不是 DBA,所以我不知道如何处理这个问题。
我有一个 XML 块存储在 ntext 列中。由于它是一个遗留数据库和项目的要求,我无法更改表(还)。这是我需要处理的数据示例:
<XmlSerializableHashtable xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Entries>
<Entry>
<key xsi:type="xsd:string">CurrentYear</key><value xsi:type="xsd:string">2010</value>
</Entry>
<Entry>
<key xsi:type="xsd:string">CurrentMonth</key><value xsi:type="xsd:string">4</value>
</Entry>
</Entries>
</XmlSerializableHashtable>
每一行都会有一个这样的块,但显然在 XML 中有不同的键/值。有什么聪明的方法可以将此 XML 解析为名称/值对样式视图吗?或者我应该使用 SQLServer 的 XML 查询功能,即使它不是 XML 列?如果是这样,我将如何从该列中查询特定值?
(注意:如果有帮助,可以在表的末尾添加一个计算的 XML 列)。
感谢您的帮助!
【问题讨论】:
-
这一切都需要在数据库上完成还是您正在使用某种程序?
-
是的,需要在数据库中完成 - 我希望将其中一些值分解出来,以便它们可以在另一个视图中使用。
标签: sql-server xml sql-server-2008 sql-server-2005