我有一個簡單的表,並希望將其內容存儲到硬盤上的xml。整個表應該有一個根元素,每個錶行有一個元素,每個表列有一個子元素。如何使用T-SQL將表中的記錄轉換爲xml格式?
我有什麼可能性?
非常感謝 托馬斯
我有一個簡單的表,並希望將其內容存儲到硬盤上的xml。整個表應該有一個根元素,每個錶行有一個元素,每個表列有一個子元素。如何使用T-SQL將表中的記錄轉換爲xml格式?
我有什麼可能性?
非常感謝 托馬斯
使用在您的查詢XML。
E.g:select * from table1 FOR XML AUTO
看到這一點 - >http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1265579,00.html
或者,您也可以通過光標或在應用程序代碼中創建您的T-SQL代碼自己的XML,這樣做的更長的路。
如果您需要更多控制結果XML的外觀,請查看SQL Server 2005及更新版本中的新語句FOR XML PATH
。
像這樣的聲明(根據臭名昭著的Northwind
數據庫):
SELECT
CustomerID as "@CustomerID",
CompanyName,
Address as "address/street",
City as "address/city",
Region as "address/region",
PostalCode as "address/zip",
Country as "address/country",
ContactName as "contact/name",
ContactTitle as "contact/title",
Phone as "contact/phone",
Fax as "contact/fax"
FROM Customers
FOR XML PATH('Customer')
會導致類似這樣的輸出:
<Customer CustomerID="ALFKI">
<CompanyName>Alfreds Futterkiste</CompanyName>
<address>
<street>Obere Str. 57</street>
<city>Berlin</city>
<zip>12209</zip>
<country>Germany</country>
</address>
<contact>
<name>Maria Anders</name>
<title>Sales Representative</title>
<phone>030-0074321</phone>
<fax>030-0076545</fax>
</contact>
</Customer>
這是相當棘手得到任何其他方式...
Marc
如何做相反的事情,即將XML轉換回表格 – 2017-12-14 04:57:29
@RaihanIqbal:使用'.query()','.nodes()'和'.value(查看T-SQL中的內置XQuery支持) )',你當然可以做到這一點 - 但這是一個完全不同的問題:-) – 2017-12-14 05:37:49
謝謝Bhaskardeep Khaund!這解決了我的問題。 – 2009-10-14 06:51:47
此答案中的鏈接需要會員才能查看。 – Gibron 2012-07-26 21:44:15