Это потому, что вы <items>
не являетесь прямым потомком вашего корневого элемента.Вставка этого в консольное приложение показывает, что происходит:
var xd = XDocument.Load("xml.xml");
Console.WriteLine(xd.Root.Name); // {http://schemas.xmlsoap.org/soap/envelope/}Envelope
Console.WriteLine(xd.Root.Descendants("items").First().Name ); //items
Console.ReadKey();
Descendants
проверяет всех дочерних элементов (и внуков и т. Д.) На предмет именованного элемента, Element
просматривает только прямые дочерние элементы.
Я не уверен, имеет ли значение Descendants значение Depth First или Breadth First, поэтому вы можете быть осторожны с производительностью больших документов.