Einzelnen Beitrag anzeigen

slemke76

Registriert seit: 29. Mär 2005
Ort: Quakenbrück
146 Beiträge
 
#2

Re: OpenXML - NodeValues auslesen funktioniert nicht

  Alt 23. Mai 2007, 09:31
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
  Mit Zitat antworten Zitat