Manipulando Arquivo XML – Parte I: API Nativa

Este post foi removido e transferido para a seguinte url:

http://www.mballem.com/post/manipulando-arquivo-xml-parte-i-api-nativa

, , , ,

  1. #1 por marcolez em 28/04/2011 - 12:03

    Legal, nunca tinha mexido com xml em java. Achei meio extenso o código. Tem que fazer um bocado de coisa. Com o JDOM é mais simples?

  2. #2 por mballem em 28/04/2011 - 14:22

    Com JDOM fica um pouco mais fácil sim. Aguarde o tutorial que você vai poder ver as diferenças.
    T+

  3. #3 por Eduardo Pereira em 19/01/2012 - 10:20

    Meu primeiro contato com XML, no entanto, estou criando meu código de acordo com o JDOM, porém segundo o seu tutorial, para a criação das classes que receberação as informações para serem manipuladas, não compreendi o funcionamento da declaração abaixo na clase Contato, sabendo-se importei as bibliotecas que foram solicitadas, como java.util.ArrayList/Collection, porém fica acusando mais erros, sugerindo que eu crie as classes lt e gt:

    private Collection<Telefone> telefones = new ArrayList<Telefone>();

  4. #4 por MBallem em 19/01/2012 - 10:43

    Olá Eduardo,

    “porém fica acusando mais erros, sugerindo que eu crie as classes lt e gt:”

    Exatamente que erros seriam esses? Erros na classe Contato ou na hora de gerar um XML?

    Se você está fazendo o exemplo publicado aqui no post, não gera erro algum. Todo esse código foi criado e testado por mim antes de postar. Se você está usando o JDOM, não esqueça que deve adicionar a biblioteca dele em seu projeto.

  5. #5 por MBallem em 19/01/2012 - 15:11

    Acho que entendi a sua dúvida agora:
    private Collection& l t;Telefone& g t; telefones = new ArrayList& l t; Telefone& g t;();

    Foi uma falha do plugin do wordpress para código fonte, ele transformou o sinal de menor em & l t; e o sinal de maior em & g t;
    É só alterar para a forma correta:private Collection<Telefone> telefones = new ArrayList< Telefone>();

  6. #6 por Rodrigo Ramos (@rodrigoror) em 08/02/2012 - 8:35

    Olá Marcio Ballem,
    Imaginamos que este arquivo xml tenha 20mil contatos.
    Seria possivel eu acessar apenas 1 contato, sem precisar carregar os 20mil para a memoria?

  7. #7 por MBallem em 08/02/2012 - 9:55

    Oi Rodrigo Ramos,
    Acho que não seja possível. Não tem como procurar apenas 1 contato entre 20 mil sem ler todos os outros.
    Não sei que operação você precisa fazer, mas se tem um arquivo com 20 mil contatos, seria muito mais prático ao invés de usar um XML, usar um banco de dados. Poderia usar um banco standalone como o HSQLDB, DERBY ou H2, se não quiser ter um servidor instalado.

  8. #8 por Rodrigo Ramos (@rodrigoror) em 08/02/2012 - 10:49

    Existe uma chance de conseguir carregar esses 20mil ? e no Android alguma chance?

  9. #9 por MBallem em 08/02/2012 - 11:38

    Rodrigo, você já tentou carregar os 20 mil? Ou ainda não tentou? Acredito que de para ler sim, mas em se tratando de Android eu já não sei te informar. Ainda não fiz nada para Android.

  10. #10 por Rodrigo Ramos (@rodrigoror) em 08/02/2012 - 14:26

    Entao.. ja tentei no android. O tutorial q vc ensinou funciona perfeitamente no android… mas qdo chego a mexer com um arquivo XML com 25 mil linhas, ele da OutOfMemory…. quando tem poucas linhas no arquivo XML funciona perfeitamente.

  11. #11 por MBallem em 08/02/2012 - 14:43

    Pois é, pouca memória é uma limitação dos dispositivos moveis. Encontreis alguns links sobre XML e Android, de uma olhada neles, talvez possa ser útil ou possam te responder sobre essa questão do consumo de memória:
    http://p-xr.com/android-tutorial-how-to-parseread-xml-data-into-android-listview/
    http://www.ibm.com/developerworks/br/opensource/library/x-android/#list5

  12. #12 por Bruno Alves em 07/03/2013 - 14:16

    Muito obrigado!!! Tópico prático e fácil de entender…. Me ajudou muito.

  13. #13 por MBallem em 07/03/2013 - 16:33

    Legal saber que o tutorial foi útil para você Bruno.
    Abraços!

  14. #14 por bill em 30/04/2013 - 14:39

    não ta criando o arquivo, como faz?
    C:\TutorialArquivos\Contatos.xml (O sistema não pode encontrar o arquivo especificado)

  15. #15 por MBallem em 30/04/2013 - 14:52

    Olá bill, faz como demonstra no tutorial ;D

    Você criou o diretório c:\\TutorialArquivos ?

  1. Manipulando Arquivo XML – Parte II: JDOM « Programando com Java
  2. Manipulando Arquivo XML – Parte III: XStream « Programando com Java