があるどのように多くの子孫を知らずにXMLに私は次のようなXMLファイルで探しています:LINQのは
IEnumerable<XElement> elements = documentXDoc.Descendants("test");
_fuelReceipts.AddRange(elements
.Select(receipt => new Receipt()
{
vehicle_number = receipt.Element("vehiclenumber") == null ? "" : receipt.Element("vehiclenumber").Value,
field = receipt.Descendants("datafield")
.Select(x => new Field()
{
field_number = x.Element("fieldnumber") == null ? "" : x.Element("fieldnumber").Value,
event_data = x.Descendants("data")
.Select(y => new FieldData()
{
event_data = y.Value
}).ToList()
}).ToList()
}));
}
ここでの問題は次のとおりです。現在、私は次のコードを持っている
<test>
<vehiclenumber>123</vehiclenumber>
<form>
<form_id>1</form_id>
<datafield>
<fieldnumber>1</fieldnumber>
<data>
<datawords>
<datatext1>1234</datatext1>
<mc2>656865</mc2>
</datawords>
</data>
</datafield>
</form>
</test>
<data>
のために、そこに何人の子孫がいるのか、彼らが呼ばれるのか分かりません。この情報を知らなくてもこれらを別々に解析する方法はありますか?今は、私は実際にオブジェクトに1234を、同じオブジェクト内に別のオブジェクトに656865を入れたいときに、1234656865のようなものが得られるでしょう。
これを行うと、最後にToList()にエラーが発生します。それはgeneric.listを自分のビジネスオブジェクトに変換しようとしています。今すぐビジネスオブジェクトは単にパブリックですstring event_data {get;セット; }、これがうまくいくためにはどうでしょうか? – mameesh
私は私の答えを編集しました。 'event_data'は' List 'または' IEnumerable 'でなければなりません。空白を区切り文字として使用する場合は、 'String.Join()'を使用して2番目の例を使用してください。 –
MarcinJuraszek