Zitat von
s.h.a.r.k:
Guten Morgen,
sollen wir erraten wo denn die
Exception geworfen wird? Ich glaube aber den Fehler gefunden zu haben:
Code:
StartItemNode := XMLDoc.DocumentElement
.ChildNodes // <words></words>
.First // <word></word>
.ChildNodes // <navi> bis zu >translation>
.FindNode('word'); // <word> GIBTS NICHT! -> Fehlende Prüfung auf NIL
Warum hast du eigentlich diese Zuweisung?
Wohl zu viel
RAM übrig?
Delphi-Quellcode:
StartItemNode:=XMLDoc.DocumentElement.ChildNodes.First.ChildNodes.FindNode('word');
ANode := StartItemNode;
Hey
Die
Exception wird geworfen, wenn .FindNode('word'); ist und das an dieser stelle:
s1 := ANode.ChildNodes['navi'].Text;
Warum sollte es word nicht geben? Schau mal in meinem
XML Beispiel oben!
gibt es nicht so: for each <word> in <words> do <word>.<navi> und <word>.ipa usw.?
PS:
Meinen bisherigen Code habe ich mir hier abgeschaut:
http://delphi.about.com/od/interneti...rss_read_3.htm
Und wiso zuviel
ram übrig xD?
EDIT:
Und dann seh ich noch ein problem auf mich zukommen:
Code:
<translations id="xxx">
<translate>1 (Oktal)</translate>
<translate>eins</translate>
<translate>xxx</translate>
</translations>
sind mal 1 mal 2 mal 3 translations ...