Easy XPathNavigator GetAttribute
c#, xml, xpathnavigator
Solution
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);
}
Problem
Just getting started here with my first take at `XPathNavigator`. This is my simple xml: ``` <?xml version="1.0" encoding="utf-8" standalone="yes"?> <theroot> <thisnode> <thiselement visible="true" dosomething="false"/> <another closed node /> </thisnode> </theroot> ``` Now, I am using the `CommonLibrary.NET` library to help me a little: ``` public static XmlDocument theXML = XmlUtils.LoadXMLFromFile(PathToXMLFile); const string thexpath = "/theroot/thisnode"; public static void test() { XPathNavigator xpn = theXML.CreateNavigator(); xpn.Select(thexpath); string thisstring = xpn.GetAttribute("visible",""); System.Windows.Forms.MessageBox.Show(thisstring); } ``` Problem is that it can't find the attribute. I've looked through the documentation at MSDN for this, but can't make much sense of what's happening.