Well, you could actually serialize and de-serialize to C# objects.
In that case, you would need to extract an XML Schema from your sample data, use xsd.exe to generate your C# classes, and then serialize and deserialize using the XmlSerializer
.
Generating a schema and classes: https://stackoverflow.com/a/11654672/1373170
That way you'd only couple to other C# classes, not worrying about the source. You could even later change your format to JSON for example, without having to refactor everything.