Duvida em XStream  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Flavio Luiz
JavaBaby
[Avatar]

Membro desde: 11/07/2008 07:37:25
Mensagens: 97
Localização: Araraquara- SP
Offline

Pessoa eu to com uma duvida aqui...
Preciso ler arquivos XML´de um diretorio, estou usando o XStream para isso... quando a isso sem problemas...
o problema é,como eu vou encontrar o arquivo xml q procuro ?
Suponhamos que eu procuro um xml q tenha essa estrutura...


mas em meu diretorio eu vou ter arquivos xml assim


ou tbm posso encontrar as duas coisa em um unico XML...




como eu faço para identificar se o xml q estou lendo tem as tag q procuro ???

This message was edited 3 times. Last update was at 11/12/2009 12:15:16


Engenheiro de Computação
OCJP - OCWCD - OCBCD





[WWW] [MSN]
viniciusfaleiro
Virtual Machine Man
[Avatar]

Membro desde: 22/03/2008 20:07:50
Mensagens: 524
Offline

Cara.. se vc criar uma entidade na hora do parse do XML pra objeto ele gera um erro eu acho.. não tenho certeza..

Na teoria ele só aceitaria XMLS com a mesma estrutura da sua entidade..

Já testou?

[/code]
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package Entities;

import java.util.Date;

/**
*
* @author Vinicius
*/
public class Message {
private String msg;
private String sender;
private Date data_criacao;

public Message(){
data_criacao = new Date(System.currentTimeMillis());
}

/**
* @return the msg
*/
public String getMsg() {
return msg;
}

/**
* @param msg the msg to set
*/
public void setMsg(String msg) {
this.msg = msg;
}

/**
* @return the sender
*/
public String getSender() {
return sender;
}

/**
* @param sender the sender to set
*/
public void setSender(String sender) {
this.sender = sender;
}

/**
* @return the data_criacao
*/
public Date getData_criacao() {
return data_criacao;
}

/**
* @param data_criacao the data_criacao to set
*/
public void setData_criacao(Date data_criacao) {
this.data_criacao = data_criacao;
}



}
[code]


no cast deve gerar um erro....

[/code]
String data = in.readUTF();

System.out.println("Mensagem Recebida!");

XStream xlm = new XStream(new DomDriver());

msg = (Message) xlm.fromXML(data);[code]


Linkedin: http://www.linkedin.com/pub/vinicius-faleiro/32/697/624
Flavio Luiz
JavaBaby
[Avatar]

Membro desde: 11/07/2008 07:37:25
Mensagens: 97
Localização: Araraquara- SP
Offline

sim sim... eu testei... ta rolando... só q agora estou com um problema...
meu xml é assim...


como podem ver tenho uma list de phoneNumber, em minha entidade eu criei uma lista phoneList
quando vou ler o xml mapiei ele assim...

o PhoneList é uma classe minha de telefone


com isso ele roda normal e minha lista de telefone vem com a quantidade de numeros mas os seus valores vem nulos...
alguem sabe o pq ?

Engenheiro de Computação
OCJP - OCWCD - OCBCD





[WWW] [MSN]
peron
JavaGuru
[Avatar]

Membro desde: 09/06/2005 09:39:31
Mensagens: 236
Localização: Blumenau/SC
Offline

A classe PhoneList deve ser :


que vai funcionar.

falow

Marcos Peron
http://www.marcosperon.com





"Dizem que, no início, Deus criou o céu e a Terra. Mentira! Na verdade, no início Deus criou Java. Onde achas que ele programou o mundo, oras?"
[WWW] [Yahoo!] [MSN] [ICQ]
Flavio Luiz
JavaBaby
[Avatar]

Membro desde: 11/07/2008 07:37:25
Mensagens: 97
Localização: Araraquara- SP
Offline

Peron... me desculpa...
mas vc poderia me exeplicar o porque ?

Engenheiro de Computação
OCJP - OCWCD - OCBCD





[WWW] [MSN]
peron
JavaGuru
[Avatar]

Membro desde: 09/06/2005 09:39:31
Mensagens: 236
Localização: Blumenau/SC
Offline

Veja,

Acho que me enganei com o seu xml de dados. se for esse:



Para tanto você precisa usar Implicit Collections



e usar no teu XStream



algo assim, não testei..

valeu

Marcos Peron
http://www.marcosperon.com





"Dizem que, no início, Deus criou o céu e a Terra. Mentira! Na verdade, no início Deus criou Java. Onde achas que ele programou o mundo, oras?"
[WWW] [Yahoo!] [MSN] [ICQ]
Flavio Luiz
JavaBaby
[Avatar]

Membro desde: 11/07/2008 07:37:25
Mensagens: 97
Localização: Araraquara- SP
Offline

Kra fiz o que você sugeriu... Mas ta dando erro...

Exception in thread "main" com.thoughtworks.xstream.InitializationException: No field "phoneList" for implicit collection
at com.thoughtworks.xstream.mapper.ImplicitCollectionMapper.add(ImplicitCollectionMapper.java:108)
at com.thoughtworks.xstream.XStream.addImplicitCollection(XStream.java:1311)
at directory.main.Teste.main(Teste.java:21)

Engenheiro de Computação
OCJP - OCWCD - OCBCD





[WWW] [MSN]
Flavio Luiz
JavaBaby
[Avatar]

Membro desde: 11/07/2008 07:37:25
Mensagens: 97
Localização: Araraquara- SP
Offline

Ai pessoal Consegui... vlw pela atenção e ajuda...
esse mapeamento resolveu o problema

Engenheiro de Computação
OCJP - OCWCD - OCBCD





[WWW] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team