使用C#在xml文档中查找重复值

时间:2015-09-03 07:26:42

标签: c# xml linq

我正在通过

加载XML文档
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(fullPath);

XML文件类似于(简化它):

<customers>
  <customer>
    <guid>
  <customer>
  <customer>
    <guid>
  <customer>
<customers>

但在真正的doc中,有许多嵌套客户。如何使用guid子项搜索并查找具有重复GUID值的所有客户元素(guid元素内的文本)。

1 个答案:

答案 0 :(得分:1)

您可以使用Linq查找重复项:

var dublicates = XDocument.Parse(xml)
            .Descendants("customer")
            .GroupBy(g => (string)g.Attribute("guid"))
            .Where(g => g.Count() > 1)
            .Select(g => g.Key);