I have this XML code
<diffgr:diffgram xmlns:msdata='urn:schemas-microsoft-com:xml-msdata' xmlns:diffgr='urn:schemas-microsoft-com:xml-diffgram-v1' FID='004'>
<Data>
<users name='peter' UID='10003' diffgr:hasChanges='modified'/>
</Data>
</diffgr:diffgram>
I can get the name attribute by doing:
SelectSingleNode("/*/Data/*/@name");
and then print the value of that name.
But I want the value of the attribute diffgr:hasChanges
I tried to do similar
SelectSingleNode("/*/Data/*/@diffgr:hasChanges");
But when trying to print the value, I get error saying
Unhandled Exception:
System.Xml.XPath.XPathException: Namespace Manager or XsltContext needed. This query has a prefix, variable, or user-defined function.
at MS.Internal.Xml.XPath.CompiledXpathExpr.get_QueryTree () <0x41689000 + 0x0003f> in <filename unknown>:0
at System.Xml.XPath.XPathNavigator.Evaluate (System.Xml.XPath.XPathExpression expr, System.Xml.XPath.XPathNodeIterator context) <0x41688e20 + 0x0007b> in <filename unknown>:0
at System.Xml.XPath.XPathNavigator.Evaluate (System.Xml.XPath.XPathExpression expr) <0x41688df0 + 0x0001a> in <filename unknown>:0
at System.Xml.XPath.XPathNavigator.Select (System.Xml.XPath.XPathExpression expr) <0x41688d70 + 0x0001b> in <filename unknown>:0
at System.Xml.XPath.XPathNavigator.Select (System.String xpath) <0x41684000 + 0x00026> in <filename unknown>:0
at System.Xml.XmlNode.SelectNodes (System.String xpath) <0x416839a0 + 0x00038> in <filename unknown>:0
at System.Xml.XmlNode.SelectSingleNode (System.String xpath) <0x41683950 + 0x00017> in <filename unknown>:0
at isoTopix.MyTest.Main (System.String[] args) [0x00018] in /home/tito/isoTopixSecurity/isoCode/console/tito.cs:28
[ERROR] FATAL UNHANDLED EXCEPTION: System.Xml.XPath.XPathException: Namespace Manager or XsltContext needed. This query has a prefix, variable, or user-defined function.
at MS.Internal.Xml.XPath.CompiledXpathExpr.get_QueryTree () <0x41689000 + 0x0003f> in <filename unknown>:0
at System.Xml.XPath.XPathNavigator.Evaluate (System.Xml.XPath.XPathExpression expr, System.Xml.XPath.XPathNodeIterator context) <0x41688e20 + 0x0007b> in <filename unknown>:0
at System.Xml.XPath.XPathNavigator.Evaluate (System.Xml.XPath.XPathExpression expr) <0x41688df0 + 0x0001a> in <filename unknown>:0
at System.Xml.XPath.XPathNavigator.Select (System.Xml.XPath.XPathExpression expr) <0x41688d70 + 0x0001b> in <filename unknown>:0
at System.Xml.XPath.XPathNavigator.Select (System.String xpath) <0x41684000 + 0x00026> in <filename unknown>:0
at System.Xml.XmlNode.SelectNodes (System.String xpath) <0x416839a0 + 0x00038> in <filename unknown>:0
at System.Xml.XmlNode.SelectSingleNode (System.String xpath) <0x41683950 + 0x00017> in <filename unknown>:0
I guess I need some escaping cus of the colon. But how do I do this?