Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Asumsikan bahwa Anda ingin membuat XML yang menyediakan informasi pesanan penjualan. Perhatikan bahwa <SalesPerson> elemen dan <OrderDetail> adalah saudara kandung. Setiap Urutan memiliki satu <OrderHeader> elemen, satu <SalesPerson> elemen, dan satu atau beberapa <OrderDetail> elemen.
<OrderHeader SalesOrderID=... OrderDate=... CustomerID=... >
<SalesPerson SalesPersonID=... />
<OrderDetail SalesOrderID=... LineTotal=... ProductID=... OrderQty=... />
<OrderDetail SalesOrderID=... LineTotal=... ProductID=... OrderQty=.../>
...
</OrderHeader>
<OrderHeader ...</OrderHeader>
Kueri mode EKSPLISIT berikut membuat XML ini. Perhatikan bahwa kueri menentukan Tag nilai 1 untuk <OrderHeader> elemen, 2 untuk <SalesPerson> elemen, dan 3 untuk <OrderDetail> elemen. Karena <>SalesPersondan <>OrderDetailmerupakan saudara kandung, kueri menentukan nilai tag yang sama Parent dari 1 yang mengidentifikasi <OrderHeader> elemen.
USE AdventureWorks2012;
GO
SELECT 1 as Tag,
0 as Parent,
SalesOrderID as [OrderHeader!1!SalesOrderID],
OrderDate as [OrderHeader!1!OrderDate],
CustomerID as [OrderHeader!1!CustomerID],
NULL as [SalesPerson!2!SalesPersonID],
NULL as [OrderDetail!3!SalesOrderID],
NULL as [OrderDetail!3!LineTotal],
NULL as [OrderDetail!3!ProductID],
NULL as [OrderDetail!3!OrderQty]
FROM Sales.SalesOrderHeader
WHERE SalesOrderID=43659 or SalesOrderID=43661
UNION ALL
SELECT 2 as Tag,
1 as Parent,
SalesOrderID,
NULL,
NULL,
SalesPersonID,
NULL,
NULL,
NULL,
NULL
FROM Sales.SalesOrderHeader
WHERE SalesOrderID=43659 or SalesOrderID=43661
UNION ALL
SELECT 3 as Tag,
1 as Parent,
SOD.SalesOrderID,
NULL,
NULL,
SalesPersonID,
SOH.SalesOrderID,
LineTotal,
ProductID,
OrderQty
FROM Sales.SalesOrderHeader SOH,Sales.SalesOrderDetail SOD
WHERE SOH.SalesOrderID = SOD.SalesOrderID
AND (SOH.SalesOrderID=43659 or SOH.SalesOrderID=43661)
ORDER BY [OrderHeader!1!SalesOrderID], [SalesPerson!2!SalesPersonID],
[OrderDetail!3!SalesOrderID],[OrderDetail!3!LineTotal]
FOR XML EXPLICIT;
Ini adalah hasil parsial:
<OrderHeader SalesOrderID="43659" OrderDate="2005-07-01T00:00:00" CustomerID="676">
<SalesPerson SalesPersonID="279" />
<OrderDetail SalesOrderID="43659" LineTotal="10.373000" ProductID="712" OrderQty="2" />
<OrderDetail SalesOrderID="43659" LineTotal="28.840400" ProductID="716" OrderQty="1" />
<OrderDetail SalesOrderID="43659" LineTotal="34.200000" ProductID="709" OrderQty="6" />
...
</OrderHeader>
<OrderHeader SalesOrderID="43661" OrderDate="2005-07-01T00:00:00" CustomerID="442">
<SalesPerson SalesPersonID="282" />
<OrderDetail SalesOrderID="43661" LineTotal="20.746000" ProductID="712" OrderQty="4" />
<OrderDetail SalesOrderID="43661" LineTotal="40.373000" ProductID="711" OrderQty="2" />
...
</OrderHeader>