我有一个sql server 2005表,它在文本字段中有xml存储。我想知道是否有一种简单的方法(使用TSQL)从xml数据中检索一个值,而无需逐行解析文本?
执行逐行解析是可能的,因为xml的数量非常小。但是,如果可能的话,我想找到一种更高性能的方法。
注意:xml是通过FoxPro CURSORTOXML函数(在FoxPro前端应用程序中)创建的,然后保存到sql server表中的文本字段中。 xml架构作为存储的xml的一部分内置。
任何建议都将不胜感激!
答案 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与逐行解析)。