提示:相比SQL Server 2000提供的FOR XML查詢,SQL Server 2005版本對現有功能增強的基礎上增加了不少新功能,最為吸引人的功能包括對Xml數據類型支持、使用 PATH 模式以及嵌套FOR XML查詢支持等,這意味著通過新的FOR XML查詢功能可以構造出結構更加靈活的XML數據。 在SQL S
輸出結果:
另外,在SQL Server 2005中增加了FOR XML PATH 模式,通過使用FOR XML PATH 模式可以建立清晰靈活的Xml格式,相比使用FOR XML EXPLICIT更為簡單:
WITH XMLNAMESPACES (DEFAULT 'http://blog.csdn.Net/zhzuo')
SELECT ProductID AS 'Product/@ProductID',
Name AS 'Product/Name'
FROM Production.Product
WHERE ProductSubcategoryID = 9
FOR XML PATH(''),ROOT('Products');
輸出結果:
Rear Derailleur
Front Derailleur
在實際應用過程中,以.NET平台應用開發為例,通過ADO.Net訪問SQL Server 2005返回的Xml數據結構可以更加豐富,甚至可以做到不做Xml樣式轉換直接服務於上一層模塊。在企業應用集成方面,以BizTalk平台為例,在調用SQL Adapter的時候可以更加靈活,降低為了制定合理Xml Schema帶來的復雜性。目前,最新版本的BizTalk(2006 R2)對使用了SQL Server 2005加強FOR XML功能的存儲過程或SQL語句不支持通過SQL適配器向導生成XML Schema,不過這個問題可以直接通過Visual Studio IDE編寫符合實際格式的XML Schema來解決。