Ler um formulário e capturar os atributos de input

Pessoal, boa tarde!

Tenho a seguinte situação: Existe uma página html que quando você a acessa, ela executa um script em javascript que busca umas informações e preenche alguns campos de input type=text.

Preciso ler este html e capturar os dados destes input.

Para capturar, usei o código:

public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		URL url = new URL("http://www.url.com.br"); 
		URLConnection conn = url.openConnection(); 

		InputStream is = url.openStream(); 
		InputStreamReader isr = new InputStreamReader(is); 
		BufferedReader br = new BufferedReader(isr); 

		String linha = br.readLine(); 

		while (linha != null) { 

		System.out.println(linha); 
		linha = br.readLine(); 

		} 
	}

Até aí tudo bem.

Os dados que me foram retornados é algo mais ou menos como no exemplo abaixo:

<HTML>
<HEAD>
<!--
Registry Server v3.042
-->
<script LANGUAGE="JavaScript">
<!--
function update_regsvr_list()
{
    parent.regbrwa.do_update_regsvr_list();
}
//-->
</script>
</HEAD>
<BODY OnLoad="update_regsvr_list()">
<FORM NAME="theForm">
Total Count = <INPUT TYPE="TEXT" SIZE=10 MAXLENGTH=10 NAME="RegSvrListCount" VALUE="4"><BR>
Selected Start = <INPUT TYPE="TEXT" SIZE=10 MAXLENGTH=10 NAME="RegSvrListItemStartSel" VALUE="0"><BR>
Selected Count = <INPUT TYPE="TEXT" SIZE=10 MAXLENGTH=10 NAME="RegSvrListItemCountSel" VALUE="4"><HR>
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListIP0" VALUE="10.0.0.1">
<INPUT TYPE="TEXT" SIZE=40 MAXLENGTH=40 NAME="RegSvrListName0" VALUE="007-vt910088">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListMacID0" VALUE="00:14:0B:00:00:00">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListTime0" VALUE="2012/05/14 14:06:09">
<INPUT TYPE="TEXT" SIZE=6 MAXLENGTH=6 NAME="RegSvrListStatus0" VALUE="0">
<BR>
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListIP1" VALUE="10.0.0.2">
<INPUT TYPE="TEXT" SIZE=40 MAXLENGTH=40 NAME="RegSvrListName1" VALUE="009-vt910092">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListMacID1" VALUE="00:14:0B:6E:00:01">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListTime1" VALUE="2012/05/14 14:16:12">
<INPUT TYPE="TEXT" SIZE=6 MAXLENGTH=6 NAME="RegSvrListStatus1" VALUE="0">
<BR>
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListIP2" VALUE="10.0.0.3">
<INPUT TYPE="TEXT" SIZE=40 MAXLENGTH=40 NAME="RegSvrListName2" VALUE="024-vt910051">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListMacID2" VALUE="00:14:0B:6E:01:02">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListTime2" VALUE="2012/05/14 14:12:59">
<INPUT TYPE="TEXT" SIZE=6 MAXLENGTH=6 NAME="RegSvrListStatus2" VALUE="0">
<BR>
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListIP3" VALUE="10.0.0.4">
<INPUT TYPE="TEXT" SIZE=40 MAXLENGTH=40 NAME="RegSvrListName3" VALUE="014-vt910101">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListMacID3" VALUE="00:14:0B:6E:00:03">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListTime3" VALUE="2012/05/14 03:09:33">
<INPUT TYPE="TEXT" SIZE=6 MAXLENGTH=6 NAME="RegSvrListStatus3" VALUE="2">
<BR>
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListInfoStart" VALUE="0">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListInfoCount" VALUE="20">
</FORM>
</BODY>
</HTML>

O que eu quero é o seguinte: Preciso capturar os valores dos inputs e colocá-los numa variável. Por exemplo:

<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListIP0" VALUE="10.0.0.1">
<INPUT TYPE="TEXT" SIZE=40 MAXLENGTH=40 NAME="RegSvrListName0" VALUE="007-vt910088">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListMacID0" VALUE="00:14:0B:00:00:00">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListTime0" VALUE="2012/05/14 14:06:09">
<INPUT TYPE="TEXT" SIZE=6 MAXLENGTH=6 NAME="RegSvrListStatus0" VALUE="0">
<BR>

No código acima, preciso pegar somente os valores de cada campo. Ex:
RegSvrListIP0 = 10.0.0.1
RegSvrListMacID0 = 00:14:0B:00:00:00
RegSvrListStatus0 = 0

Pesquisei na web e achei muitas opiniões sobre usar a manipulação de strings, entre outros.

Mas a minha pergunta é: Existe alguma forma de ler um texto, entendê-lo como html e usar os seus atributos ou terei que tentar fazer com manipulação de strings mesmo?

Se a resposta for usando strings, como vocês fariam para obter estas informações?

Abraços.

se for por javascript tente o jquery

alert($(“form”).serialize());

se for por servlet

	Enumeration<String> enu = request.getParameterNames();
	while(enu.hasMoreElements()){
		String nome = enu.nextElement();
		System.out.println(request.getParameter(nome));
	}

Não estou usando nem javascript e nem servlet. A minha aplicação é console.

Quero obter somente os valores dos campos NAME e VALUE e gravá-los numa tabela.

Você pode usar o parser de html do Mozilla: http://mozillaparser.sourceforge.net/ que é o melhor que tem atualmente. Segue um exemplo:

File parserLibraryFile = new File("lib/MozillaHtmlParser/native/bin/MozillaParser" + EnviromentController.getSharedLibraryExtension());
                String parserLibrary = parserLibraryFile.getAbsolutePath();
                //  mozilla.dist.bin directory :
                final File mozillaDistBinDirectory = new File("lib/MozillaHtmlParser/mozilla.dist.bin."+ EnviromentController.getOperatingSystemName());

        MozillaParser.init(parserLibrary,mozillaDistBinDirectory.getAbsolutePath());
MozillaParser parser = new MozillaParser();
Document domDocument = parser.parse(data);
NodeList list = domDocument.getElementsByTagName("input");

for (int i = 0; i < list.getLength(); i++) {
    Node n = list.item(i);
    NamedNodeMap m = n.getAttributes();
    if (m != null) {
        Node attrNode = m.getNamedItem("value");
        if (attrNode != null)
           System.out.println(attrNode.getNodeValue());
    }
}

Ou pode construir um do zero, no seu caso não é tão difícil só tomar cuidado que nem sempre os inputs podem vir na mesma ordem na tag… basicamente encontrar primeiro uma tag que tem: “<” e “/>” e dentro da mesma verificar se tem um input e um type=“text” e depois pegar o value da mesma.

@luistiagos vou tentar.

Valeu pela ajuda.