Home Forums Programming XML Building XML and controlling Nodes RE: Building XML and controlling Nodes

  • You are almost there, look at this code, should get you over this hurdle

    😎

    SELECT

    SDH.SalesOrderID AS '@SalesOrderID'

    ,(SELECT

    SD.OrderQty AS 'Product/@OrderQty'

    ,SD.CarrierTrackingNumber AS 'Product/ProductID/SalesOrderDetailID/@CarrierTrackingNumber'

    ,SD.ProductID AS 'Product/ProductID'

    ,SD. SalesOrderDetailID AS 'Product/ProductID/SalesOrderDetailID'

    FROM Sales.SalesOrderDetail SD

    WHERE SD.SalesOrderID = SDH.SalesOrderID

    FOR XML PATH(''),TYPE) AS Products

    FROM Sales.SalesOrderHeader SDH

    WHERE SDH.SalesOrderID = 44115

    FOR XML PATH('SalesOrder'),TYPE, ROOT('SalesOrders');

    Result

    <SalesOrders>

    <SalesOrder SalesOrderID="44115">

    <Products>

    <Product OrderQty="2">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />777<SalesOrderDetailID>1815</SalesOrderDetailID></ProductID>

    </Product>

    <Product OrderQty="1">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />747<SalesOrderDetailID>1816</SalesOrderDetailID></ProductID>

    </Product>

    <Product OrderQty="1">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />743<SalesOrderDetailID>1817</SalesOrderDetailID></ProductID>

    </Product>

    <Product OrderQty="3">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />707<SalesOrderDetailID>1818</SalesOrderDetailID></ProductID>

    </Product>

    <Product OrderQty="1">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />708<SalesOrderDetailID>1819</SalesOrderDetailID></ProductID>

    </Product>

    <Product OrderQty="3">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />775<SalesOrderDetailID>1820</SalesOrderDetailID></ProductID>

    </Product>

    <Product OrderQty="2">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />771<SalesOrderDetailID>1821</SalesOrderDetailID></ProductID>

    </Product>

    <Product OrderQty="2">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />716<SalesOrderDetailID>1822</SalesOrderDetailID></ProductID>

    </Product>

    <Product OrderQty="7">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />774<SalesOrderDetailID>1823</SalesOrderDetailID></ProductID>

    </Product>

    <Product OrderQty="1">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />748<SalesOrderDetailID>1824</SalesOrderDetailID></ProductID>

    </Product>

    <Product OrderQty="4">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />778<SalesOrderDetailID>1825</SalesOrderDetailID></ProductID>

    </Product>

    <Product OrderQty="3">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />742<SalesOrderDetailID>1826</SalesOrderDetailID></ProductID>

    </Product>

    <Product OrderQty="2">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />712<SalesOrderDetailID>1827</SalesOrderDetailID></ProductID>

    </Product>

    <Product OrderQty="2">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />773<SalesOrderDetailID>1828</SalesOrderDetailID></ProductID>

    </Product>

    <Product OrderQty="2">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />741<SalesOrderDetailID>1829</SalesOrderDetailID></ProductID>

    </Product>

    <Product OrderQty="2">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />711<SalesOrderDetailID>1830</SalesOrderDetailID></ProductID>

    </Product>

    <Product OrderQty="9">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />772<SalesOrderDetailID>1831</SalesOrderDetailID></ProductID>

    </Product>

    <Product OrderQty="2">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />745<SalesOrderDetailID>1832</SalesOrderDetailID></ProductID>

    </Product>

    <Product OrderQty="2">

    <ProductID>

    <SalesOrderDetailID CarrierTrackingNumber="5360-4C42-90" />714<SalesOrderDetailID>1833</SalesOrderDetailID></ProductID>

    </Product>

    </Products>

    </SalesOrder>

    </SalesOrders>