XmlNode rootXmlNode = myXmlDocument.DocumentElement.FirstChild;

でXMLのルートノードの最初の子を取り出せますよね?
その次の子が欲しい場合は

rootXmlNode = myXmlDocument.DocumentElement.FirstChild.NextSibling;

で取り出せるんですけど、次の子がnullになるまで取り出したい場合、

 XmlNode rootXmlNode = myXmlDocument.DocumentElement.FirstChild;
 (rootMxlNodeを使った処理)
 if(rootXmlNode = myXmlDocument.DocumentElement.FirstChild.NextSibling != null)
 {
    rootXmlNode = myXmlDocument.DocumentElement.FirstChild.NextSibling;
    (rootMxlNodeを使った処理)
       if(myXmlDocument.DocumentElement.FirstChild.NextSibling.NextSibling != null)
       {
           rootXmlNode = myXmlDocument.DocumentElement.FirstChild.NextSibling.NextSibling
           (rootMxlNodeを使った処理)
       }   
                    ・
                    ・
                    ・               
  }   

ってやらなきゃいけないんですか?
For文を使うわけにはいけないし・・・
他にいい方法ないですかね?