using System;
using System.Collections.Generic;
using System.Xml;
public class Test
{
public static void Main()
{
var document = new XmlDocument();
document.LoadXml(@"<Root>
<Main Name=""Install"">
<Details>Success</Details>
<Maintain>Install period</Maintain>
</Main>
<Main Name=""Uninstall"">
<Details>failure</Details>
<Maintain>uninstall period</Maintain>
</Main>
<Main Name= ""Discard"" >
<Details>failure</Details>
<Maintain>discard period</Maintain>
</Main>
<Main Name= ""Install"" >
<Details>Done</Details>
<Maintain>Got Output</Maintain>
</Main>
</Root>");
Dictionary<string, bool> used = new Dictionary<string, bool>();
var allNodes = document.SelectNodes("Root/Main");
for (int i = allNodes.Count - 1; i >= 0; i--)
{
var name = ((XmlElement)allNodes[i]).GetAttribute("Name");
if (used.ContainsKey(name))
{
allNodes[i].ParentNode.RemoveChild(allNodes[i]);
}
else
{
used.Add(name, true);
}
}
Console.WriteLine(document.OuterXml);
}
}