Pessoal to tentando ler um xml, mas o arquivo da erro dizendo que tem item duplicado, e o arquivo que estou lendo está + - igual ao segundo modo abaixo, mas antes queria saber qual a diferença nessas duas estruturas abaixo:
Talvez tenha alguma API por ai maluka que não exija essa regra de atributos únicos, mas “a regra é clara” rsrs.
Falows[/quote]
coloquei este ai so de exemplo, mas atributos únicos, ou valores únicos dos atributos:
estou usando o XStream pra ler o xml, e ele dá como valor duplicado nisso:
ele reclama que o xml está com valor duplicado, mas neste caso o fato de eu ter dois carros não é problema?! ou é?
eu achei que ele considerava diferente PALIO de GOL, mas parece que ele tá analisando carro name, e carro name…
se eu estiver certo, porque ele reclama de igualdade sendo que um está PALIO e outro GOL.
a igualdade é dos atributos e não do valor?
Se vc está utilizando o XStream, post a Classe correspondente e o conteúdo do arquivo xml novamente para verificar os dois tem que estar bem sincronizados.
classe externa empresa:[code]
//IXML uma interface sem nenhum método
public class empresa implements IXML {
private List setor;
private String diretor;
get e set
public void addSetor(Setor s){
getSetor().add(s);
}
[/code]
classe setor:[code]
public class Setor implements IXML{
private List grupo;
private String nome;
public void addFiliais(Grupo g){
getGrupo().add(g);
} [/code]
classe grupo:
[code]
public class Grupo implements IXML{
private Sub sub;
private Responsavel responsavel;
public void addSub(Sub s){
setSub(s);
}
public void addResponsavel(Responsavel r){
setResponsavel(r);
}
}[/code]
agora aqui so faltou a classe item que esta dentro de Sub e Responsável, mas o grande problema é:
dá erro dizendo que não é possivel CONVERTER a classe GRUPO para SETOR…
eu consigo pegar a string DIRETOR e pego o valor, mas no próximo nó da erro.
Vc tá ciente de que tanto na classe Sub quanto na classe Responsavel tem que haver atributos do tipo List para os objetos do tipo Item né?
Outro detalhe tente fechar a tag desta maneira . É a mesma coisa mas não sei se o XStream sabe disso rsrsrs.
Se tudo isso não der certo, tente eliminar o Sub na classe Grupo e testa depois o atributo Responsavel e testa novamente o que passar vai dizer que a classe que vc eliminou é o problema, na classe que está o problema aplique a mesma técnica.
[quote=fantomas]Vc tá ciente de que tanto na classe Sub quanto na classe Responsavel tem que haver atributos do tipo List para os objetos do tipo Item né?
Outro detalhe tente fechar a tag desta maneira . É a mesma coisa mas não sei se o XStream sabe disso rsrsrs.
Se tudo isso não der certo, tente eliminar o Sub na classe Grupo e testa depois o atributo Responsavel e testa novamente o que passar vai dizer que a classe que vc eliminou é o problema, na classe que está o problema aplique a mesma técnica.
[]'s
[/quote]
estou ciente, eu tenho uma lista dentro de cada um deles, mas não adianta eu tirar um ou outro, porque o erro não chega a este nó, ele diz um erro que NÃO é possível fazer um CAST de Grupo para Setor, ou seja, ele não chega a entrar no nível a abaixo, não consigo ver o erro de relacionamento entre Grupo e Setor.
Em algum lugar do código vc descreveu os aliás pra estas estruturas, vc já fêz uma revisão nelas? Pode acontecer de vc informar uma classe que não seja compatível com o nó informado.
Tá ficando intrigante este problema ai heim?!?! rsrsrsr