Der
XML-Syntax ist nicht fehlerhaft, die
XML-Datei kann deshalb nicht editiert werden, da sie von einem anderen Programm vorgegeben wird.
Also wie gesagt, ich muss
a) alle Attribute bei General als "String" bekommen (einzeln natürlich)
b) die Time-Values alle hintereinander irgendwie an diesen Quellcode übergeben:
Delphi-Quellcode:
ListBox2.Items.Add('Zeit_' + IntToStr(ListBox2.Count));
times.Add('12.00');
Nur das dann halt statt '12.00' der Wert aus dem Attribut value ausgelesen wird (in der beispiel-
XML waren es die Werte 1.00 und 2.00).
Also sollen alle Werte
der Reihe nach in die StringList times eingefügt werden.
Wenn ich es mit Times schaffe, ist es leicht zu schaffen, auch bei Node das ganze einzubauen. Hier mein Code zum Einfügen dort:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items.Add('Haltestelle_' + IntToStr(ListBox1.Count));
waypoints.Add('-1');
traveltimes.Add('0');
prices.Add('2.00');
end;
Ich könnte das ganze natürlich auch in eine Funktion auslagern, wenn das leichter ist.
Das einzige was ich schaffen muss ist, die Attributes auszulesen. In der Umsetzung bin ich völlig frei. Ob ich Standard-Klassen verwende oder andere ist nicht vorgegeben.
EDIT: Die
XML wird gespeichert, in dem ich einfach so ähnlichen Quellcode geschrieben habe und dann die Memo1 in ein File gespeichert habe.
Delphi-Quellcode:
for j := 0 to ListBox1.Count - 1 do
begin
Memo1.Lines.Add(' <Node ID="' + waypoints[j] + '" TravelTime="' + traveltimes[j] + '" Price="' + prices[j] + '"/>');
end;
Also ohne Hilfe von anderen Komponenten - dies hätte ich als "professionell" bezeichnet, fehlerfrei ist die
XML aber trotzdem, denn sie kann von dem anderen Programm ohne Probleme eingelesen werden.