私は次のXMLファイルを持っています:
<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」ノードと「Status」ノードにアクセスできますが、「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;
しかし、それは私に「オブジェクトのインスタンスに設定されていないオブジェクト参照」エラーを与えます。
他にどのようにこれを行うことができますか?ありがとうございました!!