I use serialization quite often, both at the binary level and xml level. You can even do simple text readers. If you want to move into databases you can do a MySQL database or an Access database that drives your application.
XDocument is good. If you really want to understand the guts... write a serializer in C#. Compared with overall game development, file serializers are fairly straight forward.
Aren't XDocument already serializable?