ASP.Net VB - Linq to XML 按子元素值分组

ASP.Net VB - Linq to XML group by child element value

我需要根据子元素值对所有值进行分组。下面是我的 XML

的例子
<Matchday date="2016-05-09">
   <Match id="1288348">
      <Home id="13" name="club1"/>
      <Away id="14" name="club2"/>
      <Information>
         <country>England</country>
      </Information>
   </Match>
   <Match id="1288349">
      <Home id="15" name="club3"/>
      <Away id="16" name="club4"/>
      <Information>
         <country>England</country>
      </Information>
   </Match>
   <Match id="1288350">
      <Home id="17" name="club5"/>
      <Away id="18" name="club6"/>
      <Information>
         <country>Italy</country>
      </Information>
   </Match>
   <Match id="1288351">
      <Home id="19" name="club7"/>
      <Away id="20" name="club8"/>
      <Information>
         <country>Spain</country>
      </Information>
   </Match>
</Matchday>

我想按国家分组,结果是这样的:

England
   1288348
   1288349

Italy
   1288350

Spain
   1288351

如何使用 vb linq to xml 从代码隐藏进行查询。

谢谢

这是一种可能的方式:

Dim result = data.Elements("Match") _
                 .GroupBy(Function(x) x.Element("Information").Element("country").Value)

For Each r As IGrouping(Of String, XElement) In result
    Console.WriteLine(r.Key)
    For Each m As XElement In r
        Console.WriteLine(m.@id)
    Next
Next

其中 data 是一个 XElement 声明如下:

Dim data As XElement = <Matchday date="2016-05-09">
                       <Match id="1288348">
                           <Home id="13" name="club1"/>
                           <Away id="14" name="club2"/>
                           <Information>
                               <country>England</country>
                           </Information>
                       </Match>
                       <Match id="1288349">
                           <Home id="15" name="club3"/>
                           <Away id="16" name="club4"/>
                           <Information>
                               <country>England</country>
                           </Information>
                       </Match>
                       <Match id="1288350">
                           <Home id="17" name="club5"/>
                           <Away id="18" name="club6"/>
                           <Information>
                               <country>Italy</country>
                           </Information>
                       </Match>
                       <Match id="1288351">
                           <Home id="19" name="club7"/>
                           <Away id="20" name="club8"/>
                           <Information>
                               <country>Spain</country>
                           </Information>
                       </Match>
                   </Matchday>

输出如下:

England
1288348
1288349
Italy
1288350
Spain
1288351