Ich habe die Prozedur, die im übrigen eh von mir ist
, mal 1:1 aus dem Browserfenster übernommen und dazu noch deine
XML-Datei. Was soll ich sagen? Keine Probleme. Allerdings habe ich sie erweitert, weil eine Anzeige wie
Code:
[-] LISTE
[-] Ordner
platz
platz
platz
nicht wirklich aussagekräftig ist. Also, nimm meine Prozedur "GetThoseNodes" und füge zwischen
Delphi-Quellcode:
else
s := xmlParent.Get_nodeValue;
// --> hier einfügen <-- //
// ist der TreeView-Parent "nil", dann neuen
// Knoten an oberster Ebene einfügen, ...
if(tvParent = nil) then tn := tv.Items.Add(nil,s)
folgendes ein:
Delphi-Quellcode:
// Attribute anzeigen
if(xmlParent.attributes.length > 0) then
begin
s := s + ' (';
for i := 0 to xmlParent.attributes.length - 1 do
s := s +
xmlParent.attributes.item[i].Get_nodeName +
'="' +
xmlParent.attributes.item[i].Get_nodeValue +
'" ';
s := s + ')';
end;
Voilà. Nun zeigt jeder gefundene Knoten in Klammern noch die Attribute an.
Aber hey:
ein Problem hatte ich mit deiner
XML-Datei, das will ich nicht verschweigen. Ich habe sie aus dem Browser in ein Notepad-Fenster kopiert und natürlich die drei Striche entfernt. Beim Speichern müssen noch irgendwelche Sonderzeichen drin gewesen sein, denn die Ausgabe sah sehr merkwürdig aus. Des Rätsels Lösung war, dass ich
xmldoc.preserveWhiteSpace := false;
benutzen musste, dann war das Problem vom Tisch.
Mehr Sorgen hatte ich nicht, und ich habe den Inhalt deiner Datei im Tree-View gesehen.
Zitat:
Delphi-Quellcode:
//xmlDoc := CoDOMDocument40.Create usw. spare ich mir mal hier zu posten!
//Ich lade die xml Datei 100% richtig, denn es wird ja auch was angezeigt
//nur nicht korreckt!
//Ich schreibe das nur um dies als Fehler schon einmal auszuschließen!
Vielleicht wär´s doch mal ganz gut, wenn du diesen Teil postest.