Sql server 如何在SQLServer2008中选择xmlnode和值
我在下表中有xmlSql server 如何在SQLServer2008中选择xmlnode和值,sql-server,xml,sql-server-2008,Sql Server,Xml,Sql Server 2008,我在下表中有xml <GetOrdersResponse xmlns="urn:ebay:apis:eBLBaseComponents"> <Timestamp>2013-09-07T06:38:46.192Z</Timestamp> <Ack>Success</Ack> <Version>837</Version> <Build>E837_CORE_APIXO_16317239_R1
<GetOrdersResponse xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2013-09-07T06:38:46.192Z</Timestamp>
<Ack>Success</Ack>
<Version>837</Version>
<Build>E837_CORE_APIXO_16317239_R1</Build>
<HasMoreOrders>true</HasMoreOrders>
<OrdersPerPage>100</OrdersPerPage>
<PageNumber>1</PageNumber>
<ReturnedOrderCountActual>48</ReturnedOrderCountActual>
<PaginationResult>
<TotalNumberOfPages>9</TotalNumberOfPages>
<TotalNumberOfEntries>881</TotalNumberOfEntries>
</PaginationResult>
<OrderArray>
<Order>
<OrderID>1</OrderID>
</Order>
<Order>
<OrderID>2</OrderID>
</Order>
</OrderArray>
</GetOrdersResponse>
我想得到如下结果
Row1: <Order>
<OrderID>1</OrderID>
</Order>
Row2: <Order>
<OrderID>2</OrderID>
</Order>
第1行:
1.
第2行:
2.
您忽略了XML文档中定义的XML名称空间
<GetOrdersResponse xmlns="urn:ebay:apis:eBLBaseComponents">
***************************************
这会将两个
节点及其内容返回给您。您正在忽略XML文档中定义的XML命名空间
<GetOrdersResponse xmlns="urn:ebay:apis:eBLBaseComponents">
***************************************
这会将两个
节点及其内容返回给您
;WITH XMLNAMESPACES(DEFAULT 'urn:ebay:apis:eBLBaseComponents')
SELECT
XOrder.query('.')
FROM
dbo.YourTableInQuestionHere
CROSS APPLY
XMLDATA.nodes('/GetOrdersResponse/OrderArray/Order') AS XTbl(XOrder)