Hi Hannes!
Anstelle von Antworten gibt es leider erst mal Fragen:
- Wie speicherst du die XML Datei (mktemp)? Wie merkst du dir den Dateinamen für den weiteren Zugriff?
- Gültigkeit der XML Datei:
- innerhalb einer Session oder dauerhaft?
- für einen Kunden (1 xml / 1 Kunde) oder mehrere Kunden (1 xml / n Kunden)?
- Der Kunde kann die (automatisch?) generierte xml Datei editieren? Manuell oder "indirekt", z.B. KnotenXY durch "button press" auf deiner Oberfläche hinzufügen? Erfolgt die Speicherung dann automatisch oder ist eine weitere Useraktion Auslöser?
Generell würde ich dir immer dazu raten, Daten in einer Datenbank abzulegen, da diese gegenüber einer reinen Dateispeicherung viele Vorteile bietet:
-
Zugriffssicherheit: Die Datenbank gewährleistet dir, dass du z.B. keine ungültigen Daten erhältst, die entstehen können, wenn mehrere Akteure auf eine Datenquelle lesend/schreibend zugreifen:
Var1 = "Ich bin ein laufender Prozess"
P1: liest Var1 "Ich bin ein lau" <wird suspended für P2>
P2: schreibt Var1 "Ich bin ein rassiger Prozess"
P1: liest weiter nach suspend "siger Prozess"
=> Vorher in Datei: "Ich bin ein laufender Prozess"
=> Jetzt in Datei: "Ich bin ein rassiger Prozess"
=> P1 liest: "Ich bin ein lausiger Prozess"
Dies wird von einer Datenbank verhindert (Atomarer Zugriff). -
Weiterhin kannst du Daten in einer Datenbank gegebenenfalls sortieren, ihr Format nach auslesen beliebig anpassen etc.
-
Auch komprimiert die Datenbank gegebenenfalls die eingepflegten Daten.
Grüsse,
Richard