4リストの深いリストコレクションを取得しようとしていますList<List<List<List<int>>>>
。私のXmlから
<root>
<Claim key="1" carrier="carA" zip="34343" pages="1"/>
<Claim key="2" carrier="carA" zip="34343" pages="2"/>
<Claim key="3" carrier="carB" zip="10505" pages="2"/>
<Claim key="4" carrier="carB" zip="10505" pages="4"/>
<Claim key="5" carrier="carB" zip="10505" pages="4"/>
</root>
出力の構造は次のようになります。
-all
-1
-34343
-carA
-1
-2
-34343
-carA
-2
-10505
-carB
-3
-4
-10505
-carB
-4
-5
目標は、最初にページ数、次にzip、次にキャリアでノード属性に基づいてXMLを並べ替えることです。次に、結果リストを循環して、特定の順序で各クレームを処理する必要があります。3つのネストされたグループの構文を正しく取得するのに問題があります。私は2つのネストされたグループを取得することを達成しましたが、誰でも3番目のグループを取得するのを手伝ってくれます。
これが私のこれまでのコードです。
var query = from claim in root.Elements("Claim")
group claim by claim.Attributes("Pages").First().Value into pageGroups
from zipGroups in
(from claim in pageGroups
group claim by int.Parse(claim.Attributes("CarrierZip").First().Value))
group zipGroups by pageGroups.Key;