Linq to XML删除多个返回

时间:2011-07-04 06:43:55

标签: c# linq

您有一个Linq查询来提取一些信息。以下是其中的一部分。

 node = "DocumentClass";
 AVariable="Something"
 na="NA";
 var documentClassesScript = (from documentClass in configparentXML.Descendants(node)
                              where documentClass.Attribute("Name").Value.Contains(AVariable)
                              select new ReadingXmlWithLinq
                                       {
                                        CustomStorageString = documentClass.Element("ValidationPluginAssociations") != null ? documentClass.Descendants("ValidationPluginAssociation").Attributes("CustomStorageString").Single().Value : na,
                                        } 
  ).Distinct();

在某些情况下,我遇到了以下错误

  

序列包含多个   元件

原因是ValidationPluginAssociations包含多个ValidationPluginAssociation。我需要区分并只获得其中一个。有没有办法得到它。

1 个答案:

答案 0 :(得分:2)

如果不需要单个对象,可以使用First:

documentClass.Descendants("ValidationPluginAssociation")
             .Attributes("CustomStorageString").First().Value