我有以下XML文件:如何訪問更深的xdocument節點?
<Invoice_Ack>
<Invoices>
<Invoice>
<Invoice_Number>123456</Invoice_Number>
<Status>Rejected</Status>
<Detail_Errors>
<Detail_Error>
<ErrorID>0001</ErrorID>
<ErrorMessage>This is the error message</ErrorMessage>
</Detail_Error>
<Detail_Error>
<ErrorID>0502</ErrorID>
<ErrorMessage>This is another error message</ErrorMessage>
</Detail_Error>
</Detail_Errors>
</Invoice>
</Invoices>
</Invoice_Ack>
我可以訪問「INVOICE_NUMBER」和「狀態」節點用下面的代碼,但我不知道怎麼還搶「的ErrorMessage」節點。以下是我的:
XDocument doc = XDocument.Load(file);
foreach(var invoice in doc.Descendants("Invoice"))
{
string status = invoice.Element("Status").Value;
string invoicenum = invoice.Element("Invoice_Number").Value;
}
但是,如何獲得ErrorMessage?我試過
string error = invoice.Element("Detail_Errors").Element("Detail_Error").Element("ErrorMessage").Value;
但是,這給了我一個「對象引用未設置爲對象的實例」錯誤。
這又怎麼辦?謝謝!!
您的示例XML無效 - 它會啓動一個''元素,但結束爲''。請給我們一個簡短但完整且有效的XML和代碼示例。 –
對不起,這是一個錯字..我已經更新它。第一個應該是。 –
您的代碼對於提供的XML正常工作。 –