检查字符串值是否在文档中出现多次

时间:2014-05-30 13:55:36

标签: c# loops duplicates

我有一个文档(xml),其中每一行都有这样的格式

<Field ID="{475c2610-c157-4b91-9e2d-6855031b3538}" Name="FullName" DisplayName="Full name" Type="Text" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="FullName" ColName="nvarchar6" Required="FALSE" Hidden="TRUE" ReadOnly="FALSE" PITarget="" PrimaryPITarget="" PIAttribute="" PrimaryPIAttribute="" Aggregation="" Node="" />

属性ColName =“&lt;&gt;”和ID =“{&lt;&gt;}”应该对文档中存在的每一行都是唯一的。

如何遍历每一行并查看ColName和ID中的值是否出现多次(最好是C#)?

1 个答案:

答案 0 :(得分:1)

像代码高尔夫球一样处理它...以获得重复的元素:

var duplicateElements = XDocument.Load(pathToDocument).Root.Elements()
                .GroupBy(el => String.Format("{0}|{1}", el.Attribute("ID").Value, el.Attribute("ColName").Value)))
                .Where((val, e) => val.Count() > 1);