Таким образом, вам не нужно указывать пространство имен:

ружаю строку в документ XML, который содержит следующую структуру:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">                  
  <ItemGroup>
    <Compile Include="clsWorker.cs" />        
  </ItemGroup>      
</Project>

затем я загружаю все в xmldocument:

XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml(Xml);

тогда возникает следующая проблема:

XmlNode Node = xmldoc.SelectSingleNode("//Compile"); // return null

Когда я удаляю атрибут xmlns из корневого элемента (Project), он работает нормально, как я могу улучшить свой SelectSingleNode, чтобы он возвращал соответствующий элемент?

Ответы на вопрос(4)

Ваш ответ на вопрос