Ler e armazenar porções de um arquivo HTML

E ai galera…

Eu quero que meu programa leia um arquivo HTML e armazene determinadas informações de forma ordenada. A estrutura do HTML é assim:

</tr> <tr> <td>Dado x1</td> <td style="text-align: left;">Dado x2</td> <td>Dado x3</td> <td>Dado x4</td> <td>Dado x5</td> <td>Dado x6</td> </tr> <tr> <td>Dado y1</td> <td style="text-align: left;">Dado y2</td> <td>Dado y3</td> <td>Dado y4</td> <td>Dado y5</td> <td>Dado y6</td> </tr> ... </tr>

Eu já consegui ler o HTML e tal. Agora surgiu o problema: eu quero que o programa leia “Dado x1”, verifique uma condição. Se ela for válida, ele armazena o Dado x1 e os Dados x restantes, e vai pro Dado y1. Se essa condição não for válida, ele pula os outros Dados x e vai direto pro Dado y1 (sem armazenar os x). Mas ele não pode armazenar as tags, somente os dados mesmo. Como fazer isso? Existe algum jeito mais fácil? Isso é uma table.

Outra coisa, qual a melhor forma de armazenar? Pensei em usar uma coleção, dessa forma:

List<List<String>> Dados = new ArrayList<List<String>>();

Bom é isso, desde já muito obrigado.

abraços!

vendo seu post fui no google e vi esta lib, achei bem interessante, para parse de html, pode setar valores, parsear um fragmento html, ler um document de uma url de um file etc…

http://jsoup.org/cookbook/input/parse-document-from-string