Причиной нулевого значения или системного возвращаемого значения является следующая
var id = xDoc.XPathSelectElements("//ID");
XpathSElectElements - это System.xml.linq.XElment, который является датой запроса linq. Это не может быть прямо поставлено как таковое.
Получить индивидуальный первый элемент соответствия
use XPathSelectElement ("// ID");
Вы можете проверить количество вхождений, используя XPathSelectElements, как
var count=xDoc.XPathSelectElements("//ID").count();
вы также можете запросить оператор linq как заказ, используя определенные условия
Порядок получения значения узла из списка, который вы можете использовать
foreach (XmlNode xNode in xDoc.SelectNodes("//ListIDS/ListID"))
{
Console.WriteLine(xNode.InnerText);
}
Для второго списка вы получили значение, поскольку XPath для элементов списка неверен