Bom pesquisei bastante sobre o XStream e ele me chamou muito a atenção pela enorme facilidade em gerar e ler arquivos XML. Bom mas eu tenho uma dúvida em relação a isso, quero consultar um nó específico de um XML. Por exemplo:
Gerar este XML não é o problema. Mas consultar um nó especifico deste XML que eu não consegui. Por exemplo quero somente carregar o Telefone da pessoa chamada Anderson. Vi na documentação que é possível facilmente converter o XML novamente no objeto “primitivo”, que no caso é seria o objeto Pessoa.
Pessoaanderson=(Pessoa)xstream.fromXML(xml);
Mas não quero carregar este objeto todo para conseguir tal informação, quero somente carregar o telefone da pessoa chamada Anderson. Como posso fazer isto utilizando o XStream?
Obrigado pela ajuda desde já.
A API do XStream obriga voce a carregar o xml completo, para tal funcionalidade que necessita voce deve utilizar outra api, um jdom por exemplo.
valeu!
A
anderson_lp789
Entendi… e como eu posso trabalhar com o Jdom para tal busca no XML? Tem algum exemplo simples? as buscas seriam simples… só queria carregar o objeto interio de um nó e não os valores de seus atributos individualmente.
maior_abandonado
aqui mesmo no guj tem um tutorial, mas se você for considerar facilidade, acho que você vai voltar pro xstream mesmo…rs
a menos que sua planilha seja muuuuuuuuuuuuuuuuuito grande é claro…
A
anderson_lp789
É eu li o tutorial indicado e percebi uma maior complexidade. Mas este tutorial creio que não resolveria meu problema… vou expressa-lo de uma forma melhor. Seja o seguinte XML:
Bom no exemplo que vi no tutorial seria possível por exemplo pegar os nomes do Funcionário da empresa. Mas eu queria pegar o telefone deste funcionário (Anderson). O exemplo no tutorial não foi bem claro como isto é possível, alguém poderia me ajudar a respeito?
J
Juino
Já conseguiu resolver o problema?
Vê se isso ajuda.
Juino, pelo que entendi é isso mesmo que ele quer, porém não tenho certeza se resolve muito, pois utilizando “Document doc = db.parse(seu arquivo.xml);” imagino que ele carregaria o arquivo inteiro em memória da mesma forma do Xtream, o que computacinalmente seria equivalente.
Dessa maneira ja aconselharia o uso do Xtream mesmo, por ser mais prático e de fácil manutenção.
A
anderson_lp789
Concordo com o douglaspaulino.
Bom qual seria a limitação de tamanho do XStream para carregar arquivos xml, a nível de performance? creio que meus arquivos não ultrapassariam 1 MB.
webdouglas
anderson,
nao sei responder essa pergunta nao rsrsrsrsrs.
mas imagine… esse xml irá gerar um objeto empresa e provavelmente uma lista de funcionarios, logo vc precisará ter memória suficiente para carregar essa lista.
mas quanto a performace nao sei te responder mesmo, pois utilizo o Xtream apenas para arquivos de configuração (1k) hehehe
A
anderson_lp789
Bom tenho a seguinte duvida ainda em relação ao XStream, tenho um XML relativamente com muitos nós, eu preciso montar uma estrutura igual de Objetos para carregar este XML em memória e manipula-los em objetos se eu for usar o XStream? Pois eu gostaria somente de carregar certos objetos, e por não conhecer a estrutura inteira do XML. Obrigado se alguém tiver alguma dica.
Rodrigo_Carvalho_Aul
O XStream foi feito pra serializar e deserializar objetos em XML.
Não acho uma boa idéia usa-lo pra ler qualquer XML, principalmente XML que vc não conhece.
Se você quer ler XML use DOM com XPath que foi feito pra isso é bem fácil.
A
anderson_lp789
Entendi, eu imaginei isso mesmo depois de alguns testes, vc teria algum material que possa me recomendar pra resolver meu problema?
A
anderson_lp789
Consegui resolver meus problemas, com o metodo getChild… obrigado pelas dicas, mas quem me salvou foi o livro do Deitel sobre XML recomendo a todos!
Pode fechar o tópico