Parse de documento html

3 respostas
A

Galera,

Tava precisando pegar um documento HTML, descobrir todos href dele e da um replace por uma nova para url. O motivo é que estava querendo fazer o controle do numero de clicks nos links do documento para um modulo de newsletter. Entao eu substuiria o link anteriormente criado pelo meu. Se alguem souber como posso fazer isso sem ser na mao grande por favor poste aqui.

Valeu,

Alberto

3 Respostas

Maniezo

Da um replace!

Por exemplo eu fasso para mudar o caminha da imagem veja:

html = html.replaceAll("src=\"", "src=\"../img/template/");

Inclua replace tambem com href em maiscula se corre o risco do seu codigo href vir maiuscula e tmb para aspas simples e dupla se for o caso…

A

Tem essa api do xerces, so que eu queria passar por exemplo um arquivo
e ele ja me retornava o documento html, do jeito que eu vi nos foruns eu tenho que ir criando no por no para criar um documento. Vcs conhecem alguma api?

HTMLDOMImplementation htmlImpl = HTMLDOMImplementationImpl.getHTMLDOMImplementation();		    
		    HTMLDocumentImpl document = (HTMLDocumentImpl)htmlImpl.createHTMLDocument("Teste");
		    HTMLElement body = document.getBody();
		    body.setTextContent(corpo);		    
		    document.setBody(body);		    
		    HTMLCollection collection = document.getAnchors();
		    for(int i=0;i<collection.getLength();i++){
		    	HTMLAnchorElement href = (HTMLAnchorElement)collection.item(i);
		    	System.out.println(href.getTarget());
		    }

Alberto>

A

Eu nao posso da o replace all pois preciso substituir cada url por uma nova diferente. Por exemplo url1 por url2?cod=algumGeradorDeCodigo e tambem precisaria retorna a lista destas urls para salvar no banco. Por isso preciso de um parser, esse que eu mostrei realmente resolve mas ao minimo erro de html ele da exception. Tentei o HTMLParser mas nao tive sucesso ainda

Alberto

Criado 6 de outubro de 2006
Ultima resposta 7 de out. de 2006
Respostas 3
Participantes 2