There are multiple ways to manipulate XML in C#.
Provides you forward only, read only and non cached ( only required portion is loaded to memory) access to the XML. So if you just want to read a portion of the XML this might be the best to use.
If you want to access the XML data using XPath and you don’t need to modify use this class. It is cached. So the larger the document, higher the memory usage.
This is also cached but the main difference is that, XML document can be modified. You can add new nodes to your document or delete nodes from it etc.
LINQ to XML
Enables you to access LINQ style querying on XML Data.