You can also use XPath within the Xml DOM like this :
string name;
XmlDocument xml = new XmlDocument();
xml.Load("theFile.xml");
XmlElement elt = xml.SelectSingleNode("//SubMenu[@id='STE']") as XmlElement;
if(elt!=null)
{
name=elt.GetAttribute("name");
}
XPath/XQuery syntax can be found on internet:
XPath Syntax (See the Selecting Nodes chapter)
If you need to retrieve a list of elements, you can use the SelectNodes method (it returns an XmlNodeList object).
XmlNodeList submenus = xml.SelectNodes("//RootMenu[@id='STE']/SubMenu");
List<string> names = new List<string>();
foreach(XmlNode n in submenus)
{
if(n is XmlElement)
names.Add((n as XmlElement).GetAttribute("name"));
}