2009-10-14 4 views

Odpowiedz

36

Jeśli potrzebujesz większej kontroli nad wyglądem wynikowego pliku XML, zapoznaj się z nową instrukcją FOR XML PATH w programie SQL Server 2005 i nowszym.

Oświadczenie tak (na podstawie niesławnej Northwind bazy danych):

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') 

spowoduje wyjście tak:

<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> 

To dość skomplikowany, aby dostać w inny sposób ...

Marc

+0

Jak wykonać odwrotność, tj. Przekonwertować XML z powrotem na tabelę –

+0

@RaihanIqbal: spójrz na wbudowaną obsługę XQuery w T-SQL - używając '.query()', '.nodes()' i '.value () ', zdecydowanie możesz to zrobić - ale to zupełnie inne pytanie :-) –

Powiązane problemy