2009-04-14 56 views
0

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

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

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

任何建议,将不胜感激!

回答

1

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

XML Support In SQL Server 2005

例如,

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

是的。这里“Importing XML into SQL Server”的一个例子,另一个“Search XML in SQL Server

否则,请您可以张贴XML,我们可以提供一些想法......还有基于阅读是否值,属性,层次结构等稍有不同的解决方案

+0

感谢您的链接 - 他们帮助。 – Clinemi 2009-04-14 18:02:58

0

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