Bom dia Galera,
Estou iniciando em java, li alguns tutoriais e artigos de como ler um arquivo em XML.
Porém todos eles os exemplos são gerando e lendo.
Acontece que eu já tenho esse XML:
<objeto>
<numero>PH082984697BR</numero>
<evento>
<tipo>DO</tipo>
<status>01</status>
<data>20/09/2012</data>
<hora>18:35</hora>
<descricao>Encaminhado</descricao>
<local>CTE PORTO ALEGRE</local>
<codigo>90240971</codigo>
<cidade>PORTO ALEGRE</cidade>
<uf>RS</uf>
<sto>00030478</sto>
<destino>
<local>CDD CIDADE DE AGUEDA</local>
<codigo>96202970</codigo>
<cidade>RIO GRANDE</cidade>
<bairro>PARQUE</bairro>
<uf>RS</uf>
</destino>
</evento>
</numero>
</objeto>
Eu quero apenas pegar as informações que estão dentro das TAG’s.
Como sou iniciante no Java, gostaria de algumas dicas para isso.
Desde já, Obrigado!
Pesquisa por API SAX e DOM verifica qual se adapta melhor ao seu caso, e posta ai se tiver alguma duvida.
Blz, vou dar uma olhada, eu estava tentando usar o XStream, mas não tava entendendo NADA!
http://xstream.codehaus.org/tutorial.html
Resumindo:
- Crie as classes Objeto, Evento e Destino
- Crie os atributos dessas classes com os mesmos nomes do elementos do XML. Por enquanto, crie tudo como String.
- Declare os alias para as 3 classes.
- Objeto meuObjeto = (Objeto) xstream.fromXML(minhaStringXML);
[quote=Bruno Laturner]http://xstream.codehaus.org/tutorial.html
Resumindo:
- Crie as classes Objeto, Evento e Destino
- Crie os atributos dessas classes com os mesmos nomes do elementos do XML. Por enquanto, crie tudo como String.
- Declare os alias para as 3 classes.
- Objeto meuObjeto = (Objeto) xstream.fromXML(minhaStringXML);[/quote]
Bruno, acredito que tudo esteja dando certo.
Estava dando alguns erros aqui na hora de debugar, mas eu ja corrigi alguns (eu acho).
Como faço agora pra printar algum valor?
Por exemplo, quero printar o:
<numero>PH082984697BR</numero>
<descricao>Encaminhado</descricao>
Você não consegue imprimir um XML com elementos desgarrados desse jeito. Sempre terá que ter um elemento-raiz pai de todos, como o foi no primeiro.
Crie uma classe com esses dois atributos, e chame o toXml do tutorial.
[quote=Bruno Laturner]Você não consegue imprimir um XML com elementos desgarrados desse jeito. Sempre terá que ter um elemento-raiz pai de todos, como o foi no primeiro.
Crie uma classe com esses dois atributos, e chame o toXml do tutorial.[/quote]
Bruno, eu na verdade to querendo pegar o valor que tem dentro das tag’s.
Não entendi o que você quer fazer, numa hora quer imprimir os valores em um xml, outra hora quer pegar os valores.
Se quiser imprimir/serializar para um XML, use o xstream.toXML.
Se quiser obter/deserializar o objeto a partir do XML, use o xstream.fromXML.
Deserializando você já tem o objeto java em mãos, daí é só usar o objeto como em qualquer programa Java normal, inclusive com gets e sets.
Poderia postar dentro de um código Java o código das 3/4 classes que você criou?
[quote=Bruno Laturner]Não entendi o que você quer fazer, numa hora quer imprimir os valores em um xml, outra hora quer pegar os valores.
Se quiser imprimir/serializar para um XML, use o xstream.toXML.
Se quiser obter/deserializar o objeto a partir do XML, use o xstream.fromXML.
Deserializando você já tem o objeto java em mãos, daí é só usar o objeto como em qualquer programa Java normal, inclusive com gets e sets.
Poderia postar dentro de um código Java o código das 3/4 classes que você criou?[/quote]
Bruno, eu devo ter me expressado mal então.
Eu queria exibir o conteúdo do xml, por exemplo, quero descobrir o valor do número, que vai estar dentro da tag AAA.
Aí eu queria pegar o valor de AAA.
Mas você dizendo isso, eu ja consegui entender!
Muito obrigado!