2011-06-13 64 views
2

我试图抓住/选择深深地嵌套在.vcxproj文件中的某些xml元素。 到目前为止,我没有任何运气。无论我做什么,我的LINQ查询快到了空:Linq XML将不会选择指定的xml元素

private static void CheckProject(FileSystemInfo file) 
{ 
    Console.WriteLine(file.FullName); 
    XDocument doc = XDocument.Load(file.FullName); 

    var elems = from elem in doc.Descendants() 
     where elem.Name == "Link" 
     select elem; 

     foreach (XElement elem in elems) 
    { 
     Console.WriteLine(elem.Name); 
    } 
} 

我也试过这个LINQ查询,不得要领:

var elems = from elem in doc.Descendants("Link") 
     select elem; 
+0

'.Descendants'?我只做过元素 - 但我从来没有深入到Xml或DOM中去解决这个问题。 – IAbstract 2011-06-13 22:03:57

+0

多年来我很少使用Linq和XML。所以我也是新的。 – 2011-06-13 22:10:45

回答

2

你需要比较的localName,而不是XName

var elems = doc.Descendants().Where(e=> e.Name.LocalName == "Link"); 
foreach (XElement elem in elems) 
{ 
    Console.WriteLine(elem.Name.LocalName); 
} 
+0

谢谢,这似乎工作。 – 2011-06-13 22:09:48

+0

好的!那么把它标为好的答案!还要别的吗? – 2011-06-13 22:11:42

+0

现在很好。再次感谢。 – 2011-06-13 22:41:29