Como extrair texto entre tags HTML ou XML? – Show Delphi

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

Posts Relacionados

  • Administrador
  • 122 views
  • 0 comentários
  • 13 de junho de 2017

 

Publicidade

 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Ir ao topo


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