Entwickler-Ecke
Internet / Netzwerk - XML Datei auslesen?
jackie05 - Fr 10.12.10 00:27
Titel: XML Datei auslesen?
Hallo,
ich benutze die Komponent TJvSimpleXML um XML Datei auszulesen.
Nun habe ich testhalber mal versuch den Verlauf von MSN auszulesen, diese sind ja auch in .xml gespeichert.
Hier mal mein Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| JvSimpleXML1.FileName := GetSpecialFolder(Handle, CSIDL_PERSONAL)+'\Meine empfangenen Dateien\'+ListBox1.Items.Strings[ListBox1.ItemIndex]+'\Verlauf\'+ListBox2.Items.Strings[ListBox2.ItemIndex];
for i:=0 to JvSimpleXML1.Root.Items.Count-1 do begin Nachricht := JvSimpleXML1.Root.Items.Item[i].Items.ItemNamed['Text'].Value; Von := JvSimpleXML1.Root.Items.Item[i].Items.ItemNamed['From'].Items.ItemNamed['User'].Value; end; |
Das 1te funktioniert, nur beim 2ten bekomme ich eine Zugriffsverletzung:
Delphi-Quelltext
1:
| Von := JvSimpleXML1.Root.Items.Item[i].Items.ItemNamed['From'].Items.ItemNamed['User'].Value; |
Habe ich Vielleicht etwas falsch gemacht?
Ich bedanke mich schonmal im Voraus.
MfG
jaenicke - Fr 10.12.10 05:53
Der Knoten User ist ja auch leer.
Der hat aber ein Attribut FriendlyName, warum liest du das nicht aus? Ich vermute einmal den Inhalt davon suchst du.
jackie05 - Sa 11.12.10 02:28
Danke Dir.
Ja, ich möchte den Inhalt auslesen, leider klappt das immer noch nicht, ich bekomme dann eine Zugriffsverletzung:
Delphi-Quelltext
1:
| Test := JvSimpleXML1.Root.Items.Item[i].Items.ItemNamed['FriendlyName'].Value; |
Delphi-Quelltext
1:
| Access violation at address 00477C87 in module 'Project1.exe'. Read of address 00000014. |
Edit1: Ich hab das mal so versucht:
Delphi-Quelltext
1:
| Test := JvSimpleXML1.Root.Items.Item[i].Items.ItemNamed['From'].Items.ItemNamed['User'].Properties.ItemNamed['FriendlyName'].Value; |
bei ein Paar XML Datei von MSN Verlauf funktioniert das, nur net bei alle.
Edit2: Ich denke, ich weiss wieso es nicht geht, wenn z.B. bei manchen einträge unter User mehrere Kontakte drin stehen, dann kommt Zugriffsverletzung.
Wie könnte man das Problem beheben?
MfG
jaenicke - Sa 11.12.10 03:41
Anstatt da solche Monsterzeilen zusammenzubauen geh einfach Schritt für Schritt vor und prüfe immer, ob und wie viele Unterknoten denn existieren.
Das ist dann natürlich auch gleich ein wenig schneller.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!