How to group XML nodes based on their values in C#
<p>I have my XML as:</p>

<pre><code>&lt;root&gt;
    &lt;element&gt;
        &lt;id&gt;1&lt;/id&gt;
        &lt;group&gt;first&lt;/group&gt;
    &lt;/element&gt;
    &lt;element&gt;
        &lt;id&gt;2&lt;/id&gt;
        &lt;group&gt;second&lt;/group&gt;
    &lt;/element&gt;
    &lt;element&gt;
        &lt;id&gt;3&lt;/id&gt;
        &lt;group&gt;first&lt;/group&gt;
    &lt;/element&gt;
&lt;/root&gt; 
</code></pre>

<p>Is there anyway we can group the nodes with same values like this:</p>

<pre><code>&lt;root&gt;
    &lt;groups name="first"&gt;
      &lt;element&gt;
        &lt;id&gt;1&lt;/id&gt;
        &lt;group&gt;first&lt;/group&gt;
      &lt;/element&gt;
      &lt;element&gt;
        &lt;id&gt;3&lt;/id&gt;
        &lt;group&gt;first&lt;/group&gt;
    &lt;/element&gt;
  &lt;/groups&gt;
   &lt;groups name="second"&gt;&lt;element&gt;
       &lt;id&gt;2&lt;/id&gt;
        &lt;group&gt;second&lt;/group&gt;
    &lt;/element&gt;
  &lt;/groups&gt;
&lt;/root&gt;
</code></pre>

<p>Is there a way to group it based on same node values?</p>