Einzelnen Beitrag anzeigen

Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Kann ich mit folgender Struktur arbeiten?

  Alt 17. Mär 2009, 21:53
Ich habe die MS XML 4 Bibliothek eingebunden (IXMLDOMDocument2).

Habe die Validierung durchgeführt und keine Fehler.

Aber wie kann ich nun alle Daten auslesen.

Die item Einträge bekomme ich mit folgendem Code.
Delphi-Quellcode:
xmlDoc : IXMLDOMDocument2;
...
procedure ReadXML
var
 i : Integer;
 xmldata : IXMLDOMNodeList;
 subNode : IXMLDOMNode;
 Data : TOData;
begin
 // XML initialisieren
 xmlDoc := CoDOMDocument40.Create;
 xmlDoc.setProperty('NewParser', true);
 if FileExists(AppPath + XML_FNAME) then
   xmlDoc.load(AppPath + XML_FNAME)
 else
   xmlDoc.loadXML('<?xml version="1.0" encoding="ISO-8859-1" ?><netadmin></netadmin>');

 xmldata := xmlDoc.documentElement.selectNodes('item');
 for i:=0 to xmldata.length - 1 do
 begin
   Data := TOData.Create;
   with Data do
   begin
     subNode := xmldata.item[i].selectSingleNode('id');
     id := subNode.Text;
     subNode := xmldata.item[i].selectSingleNode('name');
     name := subNode.Text;
     subNode := xmldata.item[i].selectSingleNode('path');
     path := subNode.Text;
     subNode := xmldata.item[i].selectSingleNode('param');
     param := subNode.Text;
     subNode := xmldata.item[i].selectSingleNode('icon');
     if subNode.Text <> 'then
       icon := StrToInt(subNode.Text)
     else
       icon := -1;
     subNode := xmldata.item[i].selectSingleNode('category');
     if subNode.Text <> 'then
       category := StrToInt(subNode.Text)
     else
       category := 0;
   end;
   vst_data.AddChild(nil, Data);
 end;
end;
Die Daten werden in VirtualTreeView geladen. Wenn ich das nun expliziet für die ping Einträge mache und diese ins Memo lade, liest er nur den 1. Eintrag aus.

Die weitere Frage die sich mir stellt. Wie kann ich auf die ping Einträge zu greifen? Also bearbeiten, wenn ich meine Struktur benutze.

Vielen Dank im voraus.
  Mit Zitat antworten Zitat