Thema: Delphi XML sortieren

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: XML sortieren

  Alt 29. Jun 2008, 13:27
Hallo,

der Zugriff auf alle run-Elemente erfolgt über doc.DocumentElement.SelectNodes('*') - auf diese Weise musst du nicht nach iregendwelchen Startnummern suchen, die garnicht vorhanden sind. Am elegantesten erscheint mir tatsächlich ein indexsequentieller Zugriff auf die Elemente. Zwischenspeichern musst du dann eigentlich nur die Zeiger auf die einzelnen Elemente in der benötigten Reihenfolge.

Delphi-Quellcode:
procedure TDemoForm.ButtonClick(Sender: TObject);
var
  doc: IXMLDocument;
  i: Integer;
  list: TList;
begin
  doc := CreateXmlDoc;
  if doc.LoadXML(Memo.Text) then
  begin
    list := CreateIndex(doc.DocumentElement.SelectNodes('*'));
    ListBox.Clear;
    for i := 0 to Pred(list.Count) do
      with IUnknown(list.Items[i]) as IXMLElement do
        ListBox.Items.Add(GetAttribute('startnr'));
    list.Free;
  end;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat