在文本字段中查询xml存储

时间:2009-04-14 14:36:55

标签: sql-server xml sql-server-2005 foxpro

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

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

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

任何建议都将不胜感激!

3 个答案:

答案 0 :(得分:1)

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

XML Support In SQL Server 2005

e.g。

DECLARE @xml XML
Select @xml = CAST(ColData AS XML)
@xml.value('<xquery expression goes here>');

答案 1 :(得分:1)

是。这里有一个示例“Importing XML into SQL Server”和另一个“Search XML in SQL Server

否则,请你发布xml我们可以提供一些想法......根据阅读价值,属性,等级等等,有一些略有不同的解决方案

答案 2 :(得分:0)

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