0

我有一个 sql server 2005 表,它在文本字段中存储了 xml。我想知道是否有一种简单的方法(使用 TSQL)从 xml 数据中检索 a 值而无需逐行解析文本?

可以进行逐行解析,因为 xml 的数量非常少。但是,如果可能的话,我想找到一种性能更高的方法。

注意: xml 是通过 FoxPro CURSORTOXML 函数(在 FoxPro 前端应用程序中)创建的,随后被保存到 sql server 表中的文本字段中。xml 模式作为存储的 xml 的一部分内置。

任何建议,将不胜感激!

4

3 回答 3

1

您可以从列中获取 XML 数据并将其转换为 XML 数据类型,并使用 XQuery 轻松查询 XML 或使用 XPath 从中提取值。

SQL Server 2005 中的 XML 支持

例如

DECLARE @xml XML
Select @xml = CAST(ColData AS XML)
@xml.value('<xquery expression goes here>');
于 2009-04-14T14:39:34.260 回答
1

是的。此处的示例“将 XML 导入 SQL Server ”和另一个“在 SQL Server 中搜索 XML

否则,请您发布 xml,我们可以提供一些想法...根据是否读取值、属性、层次结构等,解决方案略有不同

于 2009-04-14T14:42:55.420 回答
0

您将希望对这两种解决方案进行性能测试(转换为 XML 与逐行解析)。

于 2009-04-14T17:37:16.063 回答