Einzelnen Beitrag anzeigen

MathiasSimmack
(Gast)

n/a Beiträge
 
#17

Re: Problem mit XML Turtoial von Chack

  Alt 4. Apr 2004, 12:47
Nimm´s mir nicht übel, aber du hast einen saumäßigen Code hingeschmiert. Lösch bspw. mal den "id"-Knoten aus deiner XML-Datei und probier´s noch mal.

Hier eine Variante, die funktioniert:
Delphi-Quellcode:
procedure TForm1.UpdateList;
const
  NAMES : array[0..2]of string = ('name','format','ton');
var
  movies : IXMLDOMNodeList;
  subNode : IXMLDOMNode;
  i,
  j : integer;
  li : TListItem;
begin
  if(xmldoc = nil) then exit;

  MovieList.Items.Clear;
  MovieList.Items.BeginUpdate;

  movies := xmldoc.selectNodes('//movie');
  for i := 0 to movies.length - 1 do
  begin
    subnode := movies.item[i].selectSingleNode('id');

    li := MovieList.Items.Add;
    if(subnode <> nil) then li.Caption := subnode.text
      else li.Caption := '?';

    for j := 0 to length(NAMES) - 1 do
    begin
      subnode := movies.item[i].selectSingleNode(NAMES[j]);
      if(subnode <> nil) then li.SubItems.Add(subnode.text)
        else li.SubItems.Add('unbekannt');
    end;
  end;

  MovieList.Items.EndUpdate;
end;
Neben einem genauen Blick ins Tutorial von Chakotay empfehle ich auch ein paar Grundlagen. Das wäre bei deiner Ratlosigkeit zur Fehlermeldung
Zitat:
"Inkompatible Typen: 'string' und 'array'."
sicher nicht verkehrt.


@Chakotay: Wie isses? Woll´n wir dein Tutorial noch zum Thema Doctypes und XSL ergänzen?
  Mit Zitat antworten Zitat