title: C# xml read/write/xpath without using XmlDocument
body: <p>I am refactoring some code in an existing system.  The goal is to remove all instances of the XmlDocument to reduce the memory footprint.  However, we use XPath to manipulate the xml when certain rules apply.  Is there a way to use XPath without using a class that loads the entire document into memory?  We've replaced all other instances with XmlTextReader, but those only worked because there is no XPath and the reading is very simple.</p>
  
  <p>Some of the XPath uses values of other nodes to base its decision on.  For instance, the value of the message node may be based on the value of the amount node, so there is a need to access multiple nodes at one time.</p>