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.