Manipulando arquivos xml em java

2 respostas
R

Estou fazendo uma aplicacao, onde eu tenho que ler um arquivo xml como este abaixo:

<html>
<head>
<title> juca shows </title>
<title>hehehehehehehehe</title>
<style>oooooooooooooooo</style>
<title>hehehehehehehehe</title>
<title>hehehehehehehehe</title>
<title>hehehehehehehehe</title>
<title>hehehehehehehehe</title>
</head>
<body onload=“javascript:alert(‘ola!’)”>

ola mundo!

</body> </html>

Este arquivo tem 14 linhas. Eu preciso identificar em quais linhas do arquivo, que tem a tag <title>, para

poder pegar o que esta escrito entre elas. O meu codigo em java, segue abaixo:

public static void main(String[] args) throws Exception {

dbf = DocumentBuilderFactory.newInstance();

docbuilder = dbf.newDocumentBuilder();

doc = docbuilder.parse(new File("arquivo.xml"));

//rotina para pegar o dado entre as tags

do {

htmltag = doc.getDocumentElement();

headtag = (Element) htmltag.getElementsByTagName("head").item(0);

titletag = (Element) headtag.getElementsByTagName("title").item(i);

if(titletag.getTextContent() != null){

//mostra o que foi pego entre as tags

System.out.println("Titulo: " + titletag.getTextContent());

}else{

System.out.println("null");

}

//incrementa o contador

i++;

} while (i <= 5);

}

}

Eu queria fazer uma estrutura que varresse todas as linhas do arquivo xml e identifica-se quais delas tem a tag

<title> e pegar os respectivos dados que estao entre elas.

Você poderia me ajudar??

grato.

2 Respostas

H

Dá uma olhada em JAXB

E

Eu estou cmeçando a usar o Xerces também…Estou gostando. No começo é meio estranho, mas depois vai embora…Eu usava o JDom. Uma API bastante intuitiva e fácil de usar. Mas estou numa faze de usar a menor quantidde de API´s possíveis…Assim, qqer PC que tiver uma máquina virtul Java pode rodar minha aplicação (que usa Xerces, que é parte da API padrão) sem ter que enviar pacotes e setar classpath e complicações do gênero…Além de ser mais rápida, segundo meus testes de tomada de tempo…

Criado 2 de maio de 2008
Ultima resposta 3 de mai. de 2008
Respostas 2
Participantes 3