Außerdem habe ich den Verdacht, das so ein Dataset ziemlich viel Speicher verbrät.
Aber sowas von
Es gibt nicht viele Dinge, die mehr Speicher brauchen als ein Dataset.
An OR-Mappern hättest Du im .NET Framework natürlich gleich das Entity Framework drin. In 4.5 ist dann auch eine einigermassen taugliche Version davon enthalten (ich schlage mich hier noch mit EF 1 rum - das macht schneller die Grätsche als einem Lieb sein könnte). Ansonsten gibts als OpenSource natürlich noch nHibernate (wäre meine zweite Wahl).
Beide haben natürlich eine gewisse Lernkurve, aber zu EF gibts mehr Sachen im Netz zu finden.
Ich würde dann empfehlen, mit einem XmlReader durch das
XML zu jagen und damit dann den Objektgraphen fürs EF (oder NH) aufzubauen. Danach das ganze an den jeweiligen Kontext attachen, persistieren und gut ist.