Parseando XML com o DOM  XML
Índice dos Fóruns » Artigos e Tutoriais
Autor Mensagem
Administrador
Java Eldar

Membro desde: 02/08/2002 12:27:02
Mensagens: 0
Offline

Assunto: Uma maneira fácil e simples de extrair informações de um XML. O DOM deixa que você atravesse a hierarquia do XML como uma árvore.

Você pode ler este tutorial na íntegra http://www.guj.com.br/java.artigo.22.1.guj

Por favor, coloque as suas dúvidas e seus comentários sobre este tutorial aqui.
Sinta-se livre para fazer qualquer tipo de pergunta, desta maneira você estará nos ajudando e aos outros usuários!

This message was edited 1 time. Last update was at 19/07/2005 21:18:48

[Email]
urubatan
Moderador
[Avatar]

Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline

parabens pelo tutorias, ficou muito bom e bem simples

[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
[WWW]
urubatan
Moderador
[Avatar]

Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline

outra coisa, o DOM tem alguma coisatipo XPath??
estava acostumado a trabalhar com SAX

por exemplo:
tenho o seguinte XML

e quero utilizar um código parecido com:

e por enquanto sou obrigado a usar:

[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
[WWW]
jmendex
Entusiasta Java

Membro desde: 19/08/2003 15:25:52
Mensagens: 19
Offline

Como eu faço para, por exemplo alterar (UPDATE) o valor do nó de <nome>Daniel Destro do Carmo</nome> para p.ex. <nome>Chiquinho da Mangueira</nome> ?

Att,

____________________________________________

Juliano M. Mendes
Analista de Sistemas/Sun Java 2 Certified Programmer
NETikos Web Móvel Serviços de Informática Ltda.
+55 21 8157-2962
+55 21 3983-4305 Ramal 4697
[Email] [WWW] [MSN] [ICQ]
Renato P. Ferrari
Thread.start()

Membro desde: 27/11/2002 19:57:56
Mensagens: 35
Localização: Frederico Westphalen -RS
Offline

Ola pessoal !!!

como faço para ler o campo endereco co arquivo xml abaixo

<guj>
<usuario id="0">
<nome>Daniel Destro do Carmo
</nome>
<idade>23</idade>
<endreco>
<rua>Rua AAAAAA</rua>
<email>danieldestro@uol.com.br</email>
</endereco>
</usuario>

<usuario id="1">
<nome>Paulo Silveira

</nome>
<idade>21</idade>
<endreco>
<rua>Rua AAAAAA</rua>
<email>paulo@paulo.com.br</email>
</endereco>
</usuario>

<usuario id="2">
<nome>

Rafael Steil</nome>
<idade>23</idade>
<endereco>
<rua>Rua AAAAAA</rua>
<email>xxx@yyy.com</email>
</endereco>
</usuario>

<usuario id="3">
<nome>Guilherme Silveira</nome>
<idade>20</idade>
<endereco>
<rua>Rua AAAAAA</rua>
<email>aaaaaa@bbbbb.de</email>
</endereco>
</usuario>
</guj>


Um abraço a todos
[Email]
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

String email = getChildTagValue( tagUsuario.getElementsByTagName("endereco"), "email" );

gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
Renato P. Ferrari
Thread.start()

Membro desde: 27/11/2002 19:57:56
Mensagens: 35
Localização: Frederico Westphalen -RS
Offline

Valeu cara era isso mesmo !!

so que antes eu tive que criar um NodeList

o codigo ficou assim :

NodeList n1= tagUsuario.getElementsByTagName("endereco");
Element tagUsuario1 = (Element) n1.item( 0 );

String email = getChildTagValue( tagUsuario1, "rua" );
email += getChildTagValue( tagUsuario1, "email" );


obrigado pelas dicas !!!!
[Email]
Vegetto
GUJ Ranger

Membro desde: 22/06/2003 15:39:49
Mensagens: 797
Localização: Campinas
Offline

Renato P. Ferrari wrote:
email += getChildTagValue( tagUsuario1, "email" );



E isso funcionou???

A classe String é imutável... isso não funciona
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

Isso funciona sim amigo.

Na classe String você NÃO consegue mudar o valor interno dela, mas pode mudar a sua referência.

String a = "A";
a += "B";

Isto resulta em: "AB", pois é o equivalente a: a = a + "B";

gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
Vegetto
GUJ Ranger

Membro desde: 22/06/2003 15:39:49
Mensagens: 797
Localização: Campinas
Offline

Valew Daniel... pultz uma "coisa simples" desse jeito e eu sempre tive essa idéia errada....
Shneider
Debugger

Membro desde: 17/08/2003 09:58:57
Mensagens: 72
Offline

Como eu faço para gravar as modficações q eu fiz pelo java?
[Email]
Shneider
Debugger

Membro desde: 17/08/2003 09:58:57
Mensagens: 72
Offline

Ja que ninguem respondeu eu mesmo respondo

Após fazer as modificações você pode usar o seguinte código sendo o objeto doc o seu getDocumentElement( )

Antes de mais nada


e então:

[Email]
marcioyudi
JavaChild

Membro desde: 19/08/2004 13:56:05
Mensagens: 100
Localização: São José dos Campos/SP
Offline

Eu estou precisando parsear arquivos RSS, o DOM da conta do recado ? E que com o SAX, eu nao sei como tratar as tags que comecam com <!. ...>

Em outras palavras, eu preciso criar uma aplicacao que leia um XML no formato RSS e mostre o conteudo formatado como um leitor RSS.

Marcio Yudi Shimoda
Engenheiro de Computação
[ICQ]
marcioyudi
JavaChild

Membro desde: 19/08/2004 13:56:05
Mensagens: 100
Localização: São José dos Campos/SP
Offline

Como ninguem respondeu, ate agora estou conseguindo parcialmente fazer aquilo que espero. Porem agora estou precisando alterar alguns dados dos arquivos XML. O DOM da conta do recado??? Ou vou ter de aprender a usar o SAX ?

Marcio Yudi Shimoda
Engenheiro de Computação
[ICQ]
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

Sax é apenas para leitura.
DOM é o cara.

gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
 
Índice dos Fóruns » Artigos e Tutoriais
Ir para:   
Powered by JForum 2.1.8 © JForum Team