Как применить преобразование идентичности и группировку одновременно
<items>
<user>
<id>8788989</id>
<firstname>test</firstname>
<lastname>user</lastname>
</user>
<info>test xml</info>
<fromdate><fromdate>
<todate></todate>
<item id="123" name="Java">
<price>1</price>
<description></description>
</item>
<item id="123" name="Java and XML">
<price>2</price>
<description></description>
</item>
<item id="234" name="python">
<price>3</price>
<description></description>
</item>
<item id="234" name="scala">
<price>3</price>
<description></description>
</item>
</items>
Я хочу выводить как
<items>
<user>
<id>8788989</id>
<firstname>test</firstname>
<lastname>user</lastname>
</user>
<info>test xml</info>
<fromdate><fromdate>
<todate></todate>
<group>
<item id="123" name="Java">
<price>1</price>
<description></description>
</item>
<item id="123" name="Java and XML">
<price>2</price>
<description></description>
</item>
</group>
<group>
<item id="234" name="python">
<price>3</price>
<description></description>
</item>
<item id="234" name="scala">
<price>3</price>
<description></description>
</item>
</group>
</items>
Группировка выполняется по элементу / @ id