Hallo Leute,
ich bekomme von von einem idhttp1.post folgendes
xml zurück:
Delphi-Quellcode:
<?
xml version="1.0" encoding="iso-8859-1" ?>
- <CATEGORIES>
- <CATEGORIES_DATA>
<ID>8</ID>
<PARENT_ID>0</PARENT_ID>
- <NAMES>
- <NAMEENTRY>
<LANGUAGEID>1</LANGUAGEID>
<
NAME>Kategorie 8</
NAME>
</NAMEENTRY>
- <NAMEENTRY>
<LANGUAGEID>2</LANGUAGEID>
<
NAME>Kategorie 8</
NAME>
</NAMEENTRY>
</NAMES>
</CATEGORIES_DATA>
- <CATEGORIES_DATA>
<ID>9</ID>
<PARENT_ID>0</PARENT_ID>
- <NAMES>
- <NAMEENTRY>
<LANGUAGEID>1</LANGUAGEID>
<
NAME>Kategorie 9</
NAME>
</NAMEENTRY>
- <NAMEENTRY>
<LANGUAGEID>2</LANGUAGEID>
<
NAME>Kategorie 9</
NAME>
</NAMEENTRY>
</NAMES>
</CATEGORIES_DATA>
</CATEGORIES>
Ich will folgende davon werte in eine Datenbank schreiben:
ID,Language,Name
8,0,Kategorie 8
8,1,Kategorie 8
....
Wenn ich die
xml in einen FileStream speicher und in ein xmlDocument lade kann ich schon mal
so die ID rankommen
Delphi-Quellcode:
xmlDocument1.loadfromstream(FileStream);
with XMLDocument1.DOMDocument
as IDOMNodeSelect
do
begin
xPath := '
/CATEGORIES/CATEGORIES_DATA/ID';
dl := selectNodes(xPath);
for i := 0
to Pred(
dl.length)
do
begin
dn :=
dl.item[i]
as IDOMNodeEx;
Memo1.Lines.add('
Kategorie: '+
string(dn.Text));
end;
end;
Ausgabe also
Kategorie 8
Kategorie 9
Wie komme ich an die andere Daten ? Inner Schleife subnodes ?
Ich wollte eigentlich mit der
MSXML arbeiten aber das scheiterte schon beim
xmldoc.Loadxml(filename) Fehler -1072896682
Wer kann helfen ?
Gruss Paul