Hello,
Any time I encounter an issue with an Xpath problem VC crashes. Any error in xpath or in the xpath editor will crash VC.
Examples: Create a new task Read Node and pick a variable instead of a file. Type / and it will crash. Or any invalid XPath expression.
Or create and pick a valid xml file. Click the button on the same line as the Xpath Expression to bring up the Xml browser. Pick any node to load it's xpath expression and click find. I used /CONTACTFILE[1]/CONTACTS[1]/CONTACT[2]. Clicked find and it works..change it to /CONTACTFILE[1]/CONTACTS[1]/CONTACT[2]] (extra ] at end) and click Find and VC Crashes.
System.Xml.XPath.XPathException: '/CONTACTFILE[1]/CONTACTS[1]/CONTACT[2]]' has an invalid token.
at MS.Internal.Xml.XPath.XPathParser.ParseXPathExpresion(String xpathExpresion)
at MS.Internal.Xml.XPath.QueryBuilder.Build(String query, Boolean allowVar, Boolean allowKey)
at MS.Internal.Xml.XPath.QueryBuilder.Build(String query, Boolean& needContext)
at System.Xml.XPath.XPathExpression.Compile(String xpath, IXmlNamespaceResolver nsResolver)
at System.Xml.XPath.XPathNavigator.Evaluate(String xpath, IXmlNamespaceResolver resolver)
at XmlExplorer.Controls.XPathNavigatorTreeView.SelectXmlNodes(String xpath)
at XmlExplorer.Controls.XPathNavigatorTreeView.FindByXpath(String xpath)
at XmlBrowserForm.IIEKKNOKKOKCDDNDMOKEMPHPBJFPOLCIKGGJ()
at XmlBrowserForm.OGIGILIDKFLFLIOOCALPCFDLIEHKCKPKGCFA(Object , EventArgs )
at System.Windows.Forms.Control.OnClick(EventArgs e)
at Infragistics.Win.UltraControlBase.OnClick(EventArgs e)
at Infragistics.Win.Misc.UltraButtonBase.OnClick(EventArgs e)
at Infragistics.Win.Misc.UltraButton.OnMouseUp(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)