1
我在C#中使用LINQ to XML,我需要对我的xml节点的属性进行一些排序。我的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>
我可以使用排序依据条款,如
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;
然后我得到的查询键列表进行排序的XML。
我想要做的是获得所有与1页的索赔,然后所有的索赔与2页等,但我不知道什么是最大数量的页面可以。
谁能帮助我吗?
编辑 -
我改变了对如何做到这一点我INTIAL思想,我现在想的出来把类似于此。
List<List<List<List<int>>>>
All claims
- 1 page
-zip1
-carr1
-int claim key
-int claim2 key
- car2
-zip2
-car1
- 2 pages
-zip1
等等。诀窍是我需要查询节点并从中获取多个组。这可以在我的陈述中完成吗?还是需要一系列陈述?
This works a预计这是伟大的,但我是新来的使用LINQ和我有麻烦,采取团体和使用“键”为每个要求如何我想要的。基本上我想按照正确的顺序创建所有键的列表,所以在列表中第一个点是按正确顺序的1页索赔的列表,第二个列表是2页索赔的列表,等等。 – kds6253 2012-03-19 21:26:57
@ kds6253:好的,编辑... – 2012-03-19 21:27:27
我感谢你的帮助。 – kds6253 2012-03-19 21:31:17