I am currently using the Microsoft FOR XML PATH function to output data from MS SQL Server in XML format. I really like this feature, but it is always inconvenient for me to use vendor specific functions.
Does any other major database provider have something similar?
Edit
Let me clarify what features I'm looking for
In MS SQL you can use this query
SELECT so.id AS '@Id', so.Code AS '@Code', cu.Code AS 'Customer/@Code', cu.Name AS 'Customer/@Name', (SELECT Item_Num AS '@Item', pa.Code AS '@PartCode' FROM tblSalesItem si LEFT JOIN tblPart pa ON pa.Id = si.Part_Id WHERE si.SalesOrder_ID = so.Id FOR XML PATH('SalesItem') , type) FROM tblSalesOrder so JOIN tblCustomer cu ON so.customer_id = cu.ID FOR XML PATH('SalesOrder'), ROOT('SalesOrders')
to create this xml
<SalesOrders> <SalesOrder Id="13" Code="C1002 "> <Customer Code="ROBERTS " Name="Roberts Equipment Inc." /> <SalesItem Item="1" PartCode="FP-0001" /> <SalesItem Item="2" PartCode="FP-0003" /> </SalesOrder> <SalesOrder Id="15" Code="C1004 "> <Customer Code="EXBEL-LIFTS" Name="Exbel Lifts Inc." /> <SalesItem Item="1" /> </SalesOrder> </SalesOrders>
I can control the use of elements and attributes in a column by column. I can create element attributes to group related columns. I can use subqueries to create nested elements. You can even use functions that return XML to generate trees that are arbitrary depth.
sql xml
Darrel miller
source share