0
我遇到了一個查詢。請幫助我。如何使用LINQ GroupBy/Group加入XElements
我有一個XML
<Set type="Main">
<FirstUnit xmlns:i="http://www.w3.org/2001/XMLSchema-instance" z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
<CreateDate>2013-06-06T13:19:17.457</CreateDate>
<PrimaryKey>1</PrimaryKey>
</FirstUnit>
<Secondunit xmlns:i="http://www.w3.org/2001/XMLSchema-instance" z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
<CreateDate>2013-06-06T13:19:17.457</CreateDate>
<PrimaryKey>1</PrimaryKey>
<Exercise>Test</Exercise>
</SecondUnit>
<FirstUnit xmlns:i="http://www.w3.org/2001/XMLSchema-instance" z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
<CreateDate>2013-06-06T13:19:17.457</CreateDate>
<PrimaryKey>2</PrimaryKey>
</FirstUnit>
<Secondunit xmlns:i="http://www.w3.org/2001/XMLSchema-instance" z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
<CreateDate>2013-06-06T13:19:17.457</CreateDate>
<PrimaryKey>2</PrimaryKey>
<Exercise>Test</Exercise>
</SecondUnit>
</Set>
現在,所有我想要的是組根據主鍵的單元。即,FirstUnit和SecondUnit應該在一個組中使用<Primarykey>
節點值「1」,在另一個組中使用PrimaryKey
節點值「2」。
我曾與下面的查詢試了一下,更精煉中有做的是,提前
var elements = xDocument.GroupBy(a => a.Elements().Descendants().Where(x => x.Name.LocalName == "PrimaryKey").ToList());
感謝。
謝謝你的快速回復喬恩,我只是輸出爲列表與兩個項目。應該有第一個「FirstUnit」和「SecondUnit」。其他應該有第二個「FirstUnit」和「SecondUnit基於主鍵」 –
Baks