Hallo zusammen,
ich habe es inzwischen gefunden.
In
DOM wird wohl *alles* als eigenes Objekt behandelt, also auch der Text. Funktionieren tut es nun so:
Delphi-Quellcode:
uses XDom_4_1;
.......
DomImplementation1:=TDomImplementation.create(self);
XmlToDomParser1:=TXmlToDomParser.create(self);
XmlToDomParser1.DOMImpl:=DomImplementation1;
Doc := XmlToDomParser1.ParseFile(AppDataDir + '\Devices.xml', false);
List:=Doc.getElementsByTagName('Device');
if Assigned(List) and (List.length>0) then
for i := 0 To List.length -1 do begin
SubList:=List.item(i).childNodes;
for j:=0 to SubList.length-1 do begin
if (SubList.Item(j).HasChildNodes) then
if (Sublist.Item(j).childNodes.item(0).NodeName='#text') then begin
key:=lowercase(Sublist.Item(j).NodeName); value:=SubList.Item(j).childNodes.item(0).NodeValue;
ShowMessage(key+': '+value);
end;
end;
end;
XmlToDomParser1.Free;
DomImplementation1.Free;
Wichtig sind diese Zeilen:
Delphi-Quellcode:
if (SubList.Item(j).HasChildNodes) then
if (Sublist.Item(j).childNodes.item(0).NodeName='#text') then begin
key:=lowercase(Sublist.Item(j).NodeName); value:=SubList.Item(j).childNodes.item(0).NodeValue;
ShowMessage(key+': '+value);
end;
Vielleicht hilfts ja jemanden.
lg