DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como extrair texto entre tags HTML ou XML?

Há certos tipos de dados que queremos coletar de um HTML ou XML,
para o tratamento dos mesmos, ou melhor exibição.

Há formas de fazer isto com o TWebBrowser, mas nos obriga a ter
que carregar o arquivo no mesmo e a manipulação não é
muito fácil.

Mas digamos que tenhamos um HTML ou XML em uma variável, ou mesmo
recuperando através de um Get com o Indy (IdHTTP) com Delphi,
como podemos fazer a mineração dos dados?

Felizmente há uma função bem simples que nos ajudará!

Vamos ao código fonte:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function ExtractText(aText, OpenTag, CloseTag : String) : String;
{ Retorna o texto dentro de 2 tags (open & close Tag's) }
var
  iAux, kAux : Integer;
begin
  Result := '';
 
  if (Pos(CloseTag, aText) <> 0) and (Pos(OpenTag, aText) <> 0) then
  begin
    iAux := Pos(OpenTag, aText) + Length(OpenTag);
    kAux := Pos(CloseTag, aText);
    Result := Copy(aText, iAux, kAux-iAux);
  end;
end;

Exemplo de uso:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
procedure TForm1.Button1Click(Sender: TObject);
const
  HTML =
  '<html>'+
  '<head>'+
  '<title>SHOW DELPHI</title>'+
  '</head>'+
  '<body>'+
  '<h1>Titulo 1</h1>'+
  '<h2>Titulo 2</h2>'+
  '</body>'+
  '</html>';
var
  variavelString : string;
begin
  variavelString := ExtractText(HTML,'<h1>', '</h1>');
  ShowMessage( variavelString );
end;

Espero que seja útil a todos!

Fonte base: https://pt.stackoverflow.com/questions/31767/extrair-texto-entre-tags-html-com-indy-idhttp-com-delphi

Dúvidas ou sugestões, deixe o seu comentário!

Facebook Comments Box
  • Giovani Da Cruz
  • 9.083 views
  • 4 comentários
  • 13 de junho de 2017

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

4 respostas para “Como extrair texto entre tags HTML ou XML?”

  1. Digão disse:

    Ótima dica brother,
    salvou eu rsrsrs
    vlw

  2. Kleiton Filhinho disse:

    Obrigado pela diga!

    Foi de grande utilidade.

  3. Welington Kleber disse:

    Como implementar isso em um XML real? com mais de uma tag ?
    Exemplo: uma api retorno 2 registros.

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados