gpt4 book ai didi

c# - XPath 和 *.csproj

转载 作者:可可西里 更新时间:2023-11-01 08:33:04 24 4
gpt4 key购买 nike

我肯定在这里遗漏了一些重要的细节。我只是无法使 .NET 的 XPath 与 Visual Studio 项目文件一起工作。

让我们加载一个 xml 文档:

var doc = new XmlDocument();
doc.Load("blah/blah.csproj");

现在执行我的查询:

var nodes = doc.SelectNodes("//ItemGroup");
Console.WriteLine(nodes.Count); // whoops, zero

当然,文件中还有名为ItemGroup的节点。此外,此查询有效:

var nodes = doc.SelectNodes("//*/@Include");
Console.WriteLine(nodes.Count); // found some

对于其他文档,XPath 工作得很好。我对此感到非常困惑。谁能给我解释一下这是怎么回事?

最佳答案

您可能需要添加对命名空间 http://schemas.microsoft.com/developer/msbuild/2003 的引用。

我有一个类似的问题,我写过它here .做这样的事情:

XmlDocument xdDoc = new XmlDocument();
xdDoc.Load("blah/blah.csproj");

XmlNamespaceManager xnManager =
new XmlNamespaceManager(xdDoc.NameTable);
xnManager.AddNamespace("tu",
"http://schemas.microsoft.com/developer/msbuild/2003");

XmlNode xnRoot = xdDoc.DocumentElement;
XmlNodeList xnlPages = xnRoot.SelectNodes("//tu:ItemGroup", xnManager);

关于c# - XPath 和 *.csproj,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3745029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com