Я наверняка упускаю здесь некоторые важные детали. Я просто не могу заставить XPath .NET работать с файлами проекта 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 работает просто отлично.
Я абсолютно озадачен этим. Может ли кто-нибудь объяснить мне, что происходит?