Вы можете перебирать каждый узел и видеть, существует ли узел.
doc.Load(xmlPath);
XmlNodeList node = doc.SelectNodes("//Nodes/Node");
foreach (XmlNode chNode in node)
{
try{
if (chNode["innerNode"]==null)
return true; //node exists
//if ... check for any other nodes you need to
}catch(Exception e){return false; //some node doesn't exists.}
}
Вы перебираете все элементы Node в узлах (скажем, это root) и проверяете, существует ли узел с именем «innerNode» (добавьте другие, если вам нужно). try..catch потому что я подозреваю, что это приведет к появлению популярной ошибки «ссылка на объект не установлена», если узел не существует.