Obtendo Valores de Nó Especificados do Documento XML

Eu tenho um problema passando por um documento XML (com c #) e obter todos os valores necessários. Eu com êxito passar por todos os XmlNodeLists especificados no documento XML, com êxito obter todos os valores XmlNode dentro, mas eu tenho que obter alguns valores fora deste XmlNodeList.

Por exemplo:

  /2001/XMLSchema-instance">     John 001    1234 2011-10-01      Mike 002    5678 2011-03-31   

Este é o código que obtém valores para os nós Name e NO em todos os ANO encontrados no documento XML:

 XmlDocument xml = new XmlDocument(); xml.LoadXml(myXmlString); //myXmlString is the xml file in string //copying xml to string: string myXmlString = xmldoc.OuterXml.ToString(); XmlNodeList xnList = xml.SelectNodes("/Element[@*]/ANode/BNode/CNode"); foreach (XmlNode xn in xnList) { XmlNode example = xn.SelectSingleNode("Example"); if (example != null) { string na = example["Name"].InnerText; string no = example["NO"].InnerText; } } 

Agora, tenho um problema ao obter valores para ID e Data.

Assim como você faz para obter algo do CNode você também precisa fazer para o ANode

 XmlNodeList xnList = xml.SelectNodes("/Element[@*]"); foreach (XmlNode xn in xnList) { XmlNode anode = xn.SelectSingleNode("ANode"); if (anode!= null) { string id = anode["ID"].InnerText; string date = anode["Date"].InnerText; XmlNodeList CNodes = xn.SelectNodes("ANode/BNode/CNode"); foreach (XmlNode node in CNodes) { XmlNode example = node.SelectSingleNode("Example"); if (example != null) { string na = example["Name"].InnerText; string no = example["NO"].InnerText; } } } }