Two problems here are:
(1) Your path is selecting the thisnode
element, but the thiselement
element is the one with the attributes and
(2) .Select()
does not change the location of the XPathNavigator
. It returns an XPathNodeIterator
with the matches.
Try this:
public static XmlDocument theXML = XmlUtils.LoadXMLFromFile(PathToXMLFile);
const string thexpath = "/theroot/thisnode/thiselement";
public static void test() {
XPathNavigator xpn = theXML.CreateNavigator();
XPathNavigator thisEl = xpn.SelectSingleNode(thexpath);
string thisstring = xpn.GetAttribute("visible","");
System.Windows.Forms.MessageBox.Show(thisstring);
}