Это будет только на один уровень ниже. ОП сказал, что хочет, чтобы он нашел это где-нибудь в поддереве.

у ограничить поиск дочернего узла текущим узлом, на котором я нахожусь. Например, у меня есть следующий код:

XmlNodeList myNodes = xmlDoc.DocumentElement.SelectNodes("//Books");
    foreach (XmlNode myNode in myNodes)
    {
         string lastName = "";
         XmlNode lastnameNode = myNode.SelectSingleNode("//LastName");
         if (lastnameNode != null)
         {
              lastName = lastnameNode.InnerText;
         }
    }

Я хочу, чтобы элемент LastName находился внутри текущего myNode внутри foreach. Происходит следующее: найденное LastName всегда с первого узла, в котором есть myNodes. Я не хочу жестко задавать точный путь для LastName, но вместо этого позволить ему быть гибким относительно того, где внутри myNode он будет найден. Я бы подумал, что использование метода SelectSingleNode в myNode ограничило бы поиск только содержимым myNode xml и не включало бы родительские узлы.

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

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