Mine is a general question on XML parsing practices.
Lets say we have an XML document, and we use XPath to get some node from that document:
XMLNode node1=XMLDoc.SelectSingleNode("/SomeNode/SomeOtherNode");
Now n contains the data of SomeOtherNode. Intuitively I'd expect the following line of code:
XMLNode node2=XMLDoc.SelectSingleNode("/Child");
to populate node2 with those children of node1 which are named "Child". But sadly it doesn't work that way. The XPath search begins from the root of the document, not from the XMLNode object it was invoked on. Is there any way to get it to work in the "intuitive" manner? This would be convenient for a recursive or object oriented approach to parsing.
I've tried using the XMLPathNavigator object but it works the same way. And it seems I could set the inner text of an XMLDocumentFragment to the inner text of the given node, but that seems like an inefficient duplication of data.
Any ideas?