Einzelnen Beitrag anzeigen

Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#6

AW: Webseiten werte anhand von ID auslesen und ausgeben

  Alt 31. Jul 2012, 00:13
Es geht auch relativ einfach über eine TXMLDocument-Komponente. Die Funktion XMLDocument.DOMDocument.GetElementById() wird leider von MSXML nicht unterstützt, so daß man selbst nach der ID suchen muß. Der Aufwand hält sich aber in Grenzen und ist im Gegensatz zu den RegEx-Lösungen wesentlich flexibler:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  n: Integer;
  ID, Tag: IDOMNode;
  Tags: IDOMNodeList;
begin
  XMLDocument1.XML.Text:=
    '<html>'+
    ' <head>'+
    ' <title>Daten</title>'+
    ' </head>'+
    ' <body>'+
    ' <p id="Person1">Hanni</p>'+
    ' <p id="Person2">Karl</p>'+
    ' <p id="Dio">4</p>'+
    ' </body>'+
    '</html>';
  XMLDocument1.Active:=true;
  Tags:=XMLDocument1.DOMDocument.GetElementsByTagName('*');
  for n:=0 to Tags.Length-1 do
  begin
    Tag:=Tags.Item[n];
    ID:=Tag.Attributes.GetNamedItem('id');
    if Assigned(ID)
      then ShowMessage(Format('%s: %s',[ID.NodeValue,Tag.FirstChild.NodeValue]));
  end;
end;
Thomas Nitzschke
Google Maps mit Delphi
  Mit Zitat antworten Zitat