JVCL - один из вариантов, но если вы предпочитаете небольшую автономную библиотеку, есть OmniXML (Общественная лицензия Mozilla 1.1, http://www.omnixml.com/). Я успешно использовал его в нескольких проектах и считаю, что это самая простая библиотека XML для использования в Delphi. OmniXML поставляется с модулем OmniXMLPersistent, который делает то, что вам нужно через RTTI, точно так же, как решение JVCL.
// saving:
pers : TPersistent;
// SaveToFile is a class method, so no need to instantiate the object:
TOmniXMLWriter.SaveToFile( pers, 'd:\path\file.xml', pfAttributes, ofIndent );
pfAttributes означает, что свойства будут храниться как атрибуты элементов XML; ofIndent создаст код с хорошим отступом для удобства чтения.
// loading:
TOmniXMLWriter.LoadFromFile( pers, 'd:\path\file.xml' );