Thursday, 19 February 2015

Deduplicate XML using LINQ based on attribute value



I have a XML like this:



<rewriteMaps>
<rewriteMap name="RewritesInSightContentaltecNL">
<add key="/tata" value="/productdetails.aspx?id=1628" />
<add key="/tata" value="/productdetails.aspx?id=1628" />
<add key="/marc" value="/productdetails.aspx?id=1626" />
<add key="/marc" value="/productdetails.aspx?id=1626" />
<add key="/marc" value="/productdetails.aspx?id=1626" />

<add key="/henk" value="/productdetails.aspx?id=162996" />
<add key="/henk" value="/productdetails.aspx?id=1aa6" />

<add key="/tata" value="/productdetails.aspx?id=1628" />
<add key="/tata" value="/productdetails.aspx?id=1628" />
<add key="/marc" value="/productdetails.aspx?id=1626" />
<add key="/marc" value="/productdetails.aspx?id=1626" />
<add key="/aaaa" value="/productdetails.aspx?id=xxxx" />
</rewriteMap>

</rewriteMaps>


From which I want to remove duplicate values base on the "key" attribute"


So I want to end up with:



<add key="/tata" value="/productdetails.aspx?id=1628" />
<add key="/marc" value="/productdetails.aspx?id=1626" />
<add key="/henk" value="/productdetails.aspx?id=162996" />


Any help greatly appreciated.


No comments:

Post a Comment