LinqXML赢得';t选择指定的xml元素

本文关键字:xml 元素 选择 赢得 LinqXML | 更新日期: 2023-09-27 17:58:59

我正在尝试获取/选择某些深度嵌套在.vcxproj文件中的xml元素。到目前为止,我没有任何运气。无论我做什么,我的linq查询都是空的:

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;

LinqXML赢得';t选择指定的xml元素

您需要比较LocalName,而不是XName。

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