我有以下XML摘錄。我沒有任何問題提取XML的第一步,但我無法弄清楚如何到達第二層並提取每一層。具體來說,下面的XML中的用戶信息。通過C#提取XML的詳細記錄LINQ
任何幫助將不勝感激...
<?xml version="1.0" encoding="UTF-8" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getStatusReportResponse xmlns:ns2="http://xxxxxxxxx.com/">
<return>
<statusReport>
<record>
<assessorDate />
<assessorOffice />
<availableDate />
<awardDate>01/01/2014</awardDate>
<awardValue>1000000</awardValue>
<businessSector>SYSTEMS</businessSector>
<user>
<accessGrantedDate />
<emailAddress>[email protected]</emailAddress>
<name>JOHN USDA</name>
<phoneNumber>XXX-XXX-XXXX</phoneNumber>
<role>Focal Point</role>
</user>
<user>
<accessGrantedDate />
<emailAddress>[email protected]</emailAddress>
<name>JOHN USDA</name>
<phoneNumber>XXX-XXX-XXXX</phoneNumber>
<role>Focal Point</role>
</user>
</record>
</statusReport>
</return>
</ns2:getStatusReportResponse>
</S:Body>
</S:Envelope>
我已經試過這一點,但它只能得到我的第一個用戶記錄,而不是所有的人的名單。
var records = from x in xml.Descendants("record")
select new
{
awardDate = (string) x.Descendants("awardDate").FirstOrDefault().Value
,userList = (List<string>) x.Descendants("user").Elements() //.Elements("accessGrantedDate")
.Select(a => a.Value).ToList()
};
你想要完整的記錄還是隻有用戶節點? – 2014-09-29 12:52:54
我的目標是獲得每條記錄的詳細信息,我可以將其與父母聯繫起來。 – KeithL 2014-09-29 12:55:59
你確定有一個'List'是你想要的嗎?爲什麼不是'名單'? –
2014-09-29 12:56:58