Pessoal, eu estou fazendo parser de umas paginas html e para isso eu estava utilizando expressões regulares, contudo, não é uma solução muito boa, pq existe a questão de URL mal formada, dentre outras coisas. Aqui msm no GUJ, eu achei um tutorial falando sobre o DOM, e então resolvi estudar como utiliza-lo para obter esses valores.
Estou com algumas duvidas:
- Eu quero pegar nesse texto as informações Allow more possibilities for status que está dentro de “dt”, dentro de “a”, depois do span.
<dt><a href="/ticket/4338"><span style="text-decoration: line-through">#4338</span>: Allow more possibilities for status</a></dt>
<dd>For a production quality triage bug tracking system, trac is lacking an extra state for bugs. For our purposes this is "resolved" (e.g. tester files bug (new)=> bug goes to developer (assigned) => developer fixes bug (resolved) => tester verifies and closes bug (closed). ...</dd>
<dd>
<span class="author">By [email removido]</span> —
<span class="date">12/05/2006 04:39:15 AM</span>
</dd>
Quando eu tento pegar dessa forma:
Element s = (Element)elem.getElementsByTagName("dt").item(0);
NodeList n = s.getElementsByTagName("a");
Ele retorna null, ele só consegue retornar a frase quando naum existe o span, assim:
<dt><a href="/ticket/4337">#4337: Document Genshi version required for r4399 to work</a></dt>
Minha primeira dúvida é como faço para pegar a frase com o span, e como faço para dar as duas possibilidades: pegar a frase quando existe o span e quando naum existe
- A minha segunda dúvida é a seguinte, voltemos a primeira parte do código que eu quero pegar:
<dd>
<span class="author">By [email removido]</span> —
<span class="date">12/05/2006 04:39:15 AM</span>
</dd>
Eu quero pegar o nome do autor e a data, ambos dentro do dd e com cláusulas iguais “span”. Quando tento obter isso, ele apenas me retorna o primeiro span, no caso “author”. Como faço para pegar a data?
- A terceira dúvida é que eu estou escrevendo um código imenso para pegar essas informações, existe alguma maneira de eu “navegar” entre as tags, apontando quais são, tipo assim,
algumObjeto.getMinhaInformacao("primeiraTag/segundaTag/terceiraTag");
Pessoal, depois dessas infinitas dúvidas,
Obrigado
P.s: Qualquer ajuda é bem vinda, até indicar algum site pra ler e coisa e tal, obrigado
Samuel