2009-04-14 57 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與逐行解析)。