Einzelnen Beitrag anzeigen

MathiasSimmack
(Gast)

n/a Beiträge
 
#2

Re: Problem mit dem einlesen einer XML-Datei

  Alt 24. Feb 2004, 20:46
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.
  Mit Zitat antworten Zitat