Also erst einmal: Alles so in eine Klasse zu quetschen macht es Dir selbst extrem schwer. Und damit wird es auch für uns sehr schwer, Dir zu helfen.
Mein Ratschlag wäre, das wenigstens etwas aufzuteilen:
- Eine Klasse für einen Datensatz. Keine Ahnung, was da in der csv Datei steht, aber wenn Du da ein sauberes Model hast, dann wird alles einfacher. Die Serialisierung in eine XML Datei geht dann fast ganz ohne Code.
- Dann hast Du eine DAO Klasse - die liest dann z.B. die CSV Datei ein und kann von mir aus auch den Export in eine XML Datei beinhalten (Wobei ich das in zwei Klassen aufteile .. sind halt zwei unterschiedliche Dinge.)
Damit wird die aktuelle Klasse schon deutlich übersichtlicher. Aber die Table wird dann über ein TableModel gemacht. Damit hast Du das Bindeglied zwischen UI und Model. Siehe dazu z.B. https://docs.oracle.com/javase/tutorial/uiswing/components/table.html
Ob man nun noch weiter geht und UI etwas mehr aufdröseln will in Controller und View ist dabei jetzt fast nebensächlich. Die oben genannten Dinge dürften alles deutlich vereinfachen, so dass Du nun eine kleine Hand voll Klassen hast, die alle ihre klare Aufgabe haben und die das Projekt übersichtlich hält.
Und Dein Problem mit der XML Datei dürfte dann erledigt sein, denn Du schreibst die Daten wirklich so einfach mit einem Encoder ohne da irgend was manuell aufzubauen.
Ich kenne Deine zeitlichen Vorgaben nicht, aber das wäre halt die Herangehensweise, die ich vorschlagen würde.