Einzelnen Beitrag anzeigen

BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#5

AW: .GPX datei auslesen

  Alt 24. Mai 2011, 12:05
Die source davon lässt sich unter D2009 nicht kompilieren da einige benötigte Bibliotheken zu alt sind. Ich will ja auch was eigenes machen.

Um die Daten zu importieren sieht mein Code nun so aus (ist noch in der Testphase):
Code:
procedure TForm2.Button3Click(Sender: TObject);
var
i : Integer;
wpt1_node : Txmlnode;
gc_node  : Txmlnode;
cacheGC: String;
CacheTime : String;
CacheDesc : String;
cacheUrl : String;
CacheUrln : String;
CacheSym : String;
CacheType : String;
CacheId  : String;
CacheAvail: String;
CacheArch : String;
CacheXMLNS: String;
GSName   : String;
begin
  Memo1.Lines.Clear;
  ADoc := TNativeXml.Create(self);
  ADoc.LoadFromFile('1.gpx');

wpt1_node := adoc.Root.FindNode('wpt');

cacheGC  := wpt1_node.FindNode('name').Value;
CacheTime := wpt1_node.FindNode('time').Value;
CacheDesc := wpt1_node.FindNode('desc').Value;
CacheUrl := wpt1_node.FindNode('url').Value;
CacheUrln := wpt1_node.FindNode('urlname').Value;
CacheSym := wpt1_node.FindNode('sym').Value;
CacheType := wpt1_node.FindNode('type').Value;

gc_node := wpt1_node.FindNode('groundspeak:cache');

CacheId  := gc_node.Attributes[0].Value;
CacheAvail:= gc_node.Attributes[1].Value;
CacheArch := gc_node.Attributes[2].Value;
CacheXMLNS:= gc_node.Attributes[3].Value;

GSName   := gc_node.FindNode('groundspeak:name').Value;

end;

Ist es so ok oder gibt es bessere Möglichkeiten?

Dann noch eine andere Frage für später wenn ich die Daten in eine Datenbank speichern möchte. Und zwar sind in der XML Datei immer verschieden viele Einträge <wpt>, es könnten bis zu 30 oder theoretisch sogar mehr sein. Nun frage ich mich wie ich so etwas in eine DB bringe. Im Code würde ich das mit einem dynamischen Array lösen, aber wie geht das mit einer Datenbank??

Geändert von BBoy (24. Mai 2011 um 12:38 Uhr)
  Mit Zitat antworten Zitat