Я работаю с LINQ to XML в C #, и мне нужно немного отсортировать атрибуты моих узлов xml.Мой 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="34343" pages="4"/>
</root>
Я могу отсортировать xml, используя предложение orderby, например
var query= from claim in root.Elements("Claim")
let Key = claim.Attributes("Key").First().Value
let Carrier = claim.Attributes("Carrier").First().Value
let CarrierZip = int.Parse(claim.Attributes("CarrierZip").First().Value)
let Pages = claim.Attributes("Pages").First().Value
orderby Pages ascending, CarrierZip ascending, Carrier ascending
select claim;
Затем я получаю список ключей из запроса.
То, что я хочу сделать, - это получить коллекции всех заявок с 1 страницей, затем все заявки с 2 страницами и т. Д., Но я не знаю, какое максимальное количество страниц может быть.
Кто-нибудь может мне помочь?
РЕДАКТИРОВАТЬ -
Я изменил свою первоначальную мысль о том, как этого добиться, и теперь я хотел бы, чтобы результаты были похожи на это.
List<List<List<List<int>>>>
All claims
- 1 page
-zip1
-carr1
-int claim key
-int claim2 key
- car2
-zip2
-car1
- 2 pages
-zip1
и так далее.Хитрость в том, что мне нужно запрашивать узлы и получать из него несколько групп.Можно ли это сделать в моем заявлении или требуется ряд утверждений?