很抱歉这种 n00b 问题,但这是我第一次在 SQL Server (2005) 中处理 XML。这是我认为可行的...
DECLARE @doc xml
SET @doc =
'<?xml version="1.0" encoding="UTF-8"?>
<p:OrderRequest xmlns:p="http://xxx.OrderRequest/2" xmlns:xsi="http://xxx.XMLSchema-instance" xsi:schemaLocation="http://xxx.OrderRequestV2.xsd ">
<p:Header>
<p:LLLRequestCount>0</p:LLLRequestCount>
<p:MFRRequestCount>1</p:MFRRequestCount>
<p:FileCreatedAt>2001-12-31T12:00:00</p:FileCreatedAt>
<p:RequestFileName>p:RequestFileName</p:RequestFileName>
</p:Header>
<p:RequestItems>
<p:MFRRequest id="1" priority="">
<p:AccountNumber>9999999</p:AccountNumber>
<Status>Initial</Status>
<p:CaseInformation>
<ReferralDate>2011-01-01</ReferralDate>
<Type>1A</Type>
<ARM>Yes</ARM>
<InvestorNumber>InvestorNumber</InvestorNumber>
<PropertyAddress>PropertyAddress</PropertyAddress>
<PrivateLabel>Yes</PrivateLabel>
<CaseNumber>01-11111/AK/</CaseNumber>
<SuspenseBalance>9999.00</SuspenseBalance>
<TitleOrderedDate>2011-09-01</TitleOrderedDate>
<TotalMonthlyPayment>876.99</TotalMonthlyPayment>
</p:CaseInformation>
</p:MFRRequest>
</p:RequestItems>
</p:OrderRequest>'
;WITH XMLNAMESPACES(DEFAULT 'http://xxx.OrderRequest/2)')
SELECT Y.i.value('Status[1]', 'varchar(10)') AS Status
FROM @doc.nodes('/OrderRequest/MFRRequest') AS Y(i)
...但我回到空白。我也尝试过使用 OPENXML。我只得到空白。在这一点上我已经尝试了很多例子,但我不确定我错过了什么:-/
我需要拉回 MFRRequest、AccountNumber、Status 的 ID 属性,然后是 CaseInformation 中的几个字段。我将非常感谢任何帮助。非常感谢!