2011-06-13 63 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