Thema: Delphi XML online auslesen

Einzelnen Beitrag anzeigen

MASU

Registriert seit: 21. Jun 2009
Ort: Stuttgart
1 Beiträge
 
#3

Re: XML online auslesen

  Alt 21. Jun 2009, 14:21
Hallo,

das ist eigentlich ganz einfach, wie eben mit allem was bekannt ist.

Du kannst dazu den in Delphi vorhandenen XML Server verwenden (Komponente) oder wie ich gerne selbst den XML DOM von Microsoft laden. Dazu must du in Delphi nur zuerst die XML TypeLibrary importieren (ist bei jeder Delphi Version anders, bei D2007 z.B.: Komponenten => Komponente importieren... => Typbibliothek importieren). Die liegt dann im Delphi import Pfad.

uses der TypeLibrary anmelden...
Delphi-Quellcode:
uses
  MSXML2_TLB, ...
kleine function schreiben...

Parameter ist Pfad und Dateiname oder direkt übers Netz eine URL

Delphi-Quellcode:
procedure LoadXML(FURL:String);
var
  Doc: DOMDocument30;
  DomList: IXMLDOMNodeList;
  PNode:IXMLDOMNode;
  n,i,Count:Integer;
  s,Topic,Item:String;
  DeviceObj:TDeviceObj;
begin
    try

      //create document
      Doc := CreateOleObject('Msxml2.DOMDocument.3.0') as DOMDocument30;
      Doc.async := False;
      Doc.resolveExternals := False;

      //load
      Count:=0;
      repeat
        inc(count);
        LoadResult:=Doc.load(FURL);
        if NOT LoadResult then begin
          sleep(20*Count);
        end;
      until (LoadResult OR (Count>=3));

    finally
 
      if LoadResult then begin
        try

          DomList:=Doc.getElementsByTagName('name');
          for n:=0 to DomList.length-1 do begin

            s:=DomList[n].NodeName

            s:=(DomList[n] as IXMLDOMElement).getAttribute('Darsteller');


          end;

          //close xml doc
          Doc := nil;
        except
          on E:Exception do ShowMessage('Execption at load/read XML:'+E.Message);
        end;
      end;
    end;

end;
[edit=mkinzler]Delphi-Tags eingefügt Mfg, mkinzler[/edit]
  Mit Zitat antworten Zitat