Entendendo o XML

14 respostas
A

Assunto: Neste tutorial, você vai aprender que é e o porquê de usar XML, independente de Java.

Você pode ler este tutorial na íntegra http://www.guj.com.br/java.artigo.19.1.guj

Por favor, coloque as suas dúvidas e seus comentários sobre este tutorial aqui.
Sinta-se livre para fazer qualquer tipo de pergunta, desta maneira você estará nos ajudando e aos outros usuários!

14 Respostas

Adler_Medrado

Eu sempre tive interesse em aprender XML só que como é citado no tutorial, sempre existiu um preconceito e sempre fui desencorajado e ai procurava outras coisas. Mas a vontade de aprender xml ainda existe…
Eu gostaria de saber para que realmente o XML serve. Eu posso criar paginas dinamicas com o XML? O que eu preciso ter para rodar XML na minha maquina?

[]s

Paulo_Silveira

Então. Você não precisa ter nada na sua máquina. Qualquer linguagem tem recursos para entender o XML, e gerar conteúdo dinâmico a partir dele!

Como no exemplo do tutorial, o dos sucos, você poderia gerar uma páginas mostrando quais os sucos que o seu restaurante tem. Se você quisesse mudar o layout, bastaria mudar o código java que gera o HMTL (voce pode usar uma XSLT para isso, mas fica para depois) e não precisa mudar o seu XML

o XML é usado para várias coisas, as principais:

:arrow: configuração
:arrow: comunicação entre programas, computadores e linguagens
:arrow: armazenamento de conteúdo

fsamir

Olá.

Eu costumo usar o JAXB pra trabalhar com XML. Ele torna a manipulação do XML bem fácil. Mais fácil do que utilizar DOM ou até o SAX, que já é bem simples.
Vc cria dois arquivos de configuração e ele converte o XML em objetos Java, e vice-versa.
Ouvi falar que tem o Castor, da Apache, que faz a mesma coisa, mas ainda não tive oportunidade de testar…

Está dada a dica!
www.java.sun.com/xml/jaxb
http://www-109.ibm.com/cgi-bin/click.pl?url=http://www-105.ibm.com/developerworks/education.nsf/java-onlinecourse-bytitle/29E38C9B6910F69F86256B51004F94B7?OpenDocument&qry=jaxb - Tutorial bem simples da IBM

Paulo_Silveira

“fsamir”:
Olá.
Ouvi falar que tem o Castor, da Apache, que faz a mesma coisa, mas ainda não tive oportunidade de testar…

O castor eh open mas nao eh da apache nao, e nao eh pra parsear.

O do apache eh o xerces e o xalan, mas sao DOM e SAX. Nao conheco esse que voce falou, vou dar uma lida.

Adler_Medrado

Valeu galera. Eu vou me aprofundar nessa área e agradeço pelas dicas e links. Vou visitar e ler todos.

Ceis são sangue baum!

Guilherme_Silveira

eh raro encontrar alguem que usa JAXB apesar de eu achar muito melhor que dom… o problema eh que novas versoes de arquivos dtd podem comprometer teu programa, mas tudo bem.
de qq maneira nao se pode esquecer que cada uma dessas tecnologias, sax e dom, sao tecnologias do primeiro layer, o que le o arquivo xml em si… depois foram criadas outros meios de retirar os dados, como por exemplo o xpath. cada um dos metodos apresenta caracteristicas muito diferentes e, apesar da simplicidade de alguns, pode ser necessario usar em um projeto um parser ou outro.

como vivo mencionando, em arquivos de catalogos comerciais (eu tenho um da siemens aqui) pode ser que voce tenha mais de 500 megas em um unico xml, o que o torna impossivel transformar em objetos… acaba com a maquina…

gui

Adler_Medrado

Eu desenvolvi um sistema de guestbook em JSP/Javabeans que armazena os dados em um banco de dados mysql.
Eu poderia armazenar estes dados, em um arquivo XML?
Como faria isso? Utilizando DOM ou SAX?

Valeu!!

Rafael_Steil

Olha, voce pode usar xml sim, mas nesse caso nao seria recomendavel, ja que voce tem o banco de dados disponivel. Mas de qq maneira poderia fazer sim.

SAX ou DOM? bom, talvez isso te ajude a decidir: SAX eh mais recomendavel quando os arquivos sao muito grandes e quando voce quer apenas adicionar registros ou mostrar na tela. Com DOM eh mais simples voce ALTERAR alguma tag ( por exemplo, mudar o nome dela de X para Y no momento do processamento ), porem DOM eh mais lento e requer mais memoria.

XML nao tem segredo, basta ter a mente aberta. Aqui no trabalho estou usando ele como base para os arquivos de controle de modulos e configuracao de permissao de acesso ( definicao das permissoes, nao as permissoes em si, claro… :slight_smile: ) .

[]'s
Rafael Steil

Adler_Medrado

Legal. Eu perguntei se pode ser feito via XML o armazenamento no BD porque eu pretendo colocar a disposicao de quem interessar no meu site pessoal. (Estou desenvolvendo)
Aí as vezes uma pessoa que nao tem ou nao quer usar o mySQL, podera usar este com os dados armazenados em XML.

Neste caso entao eu deveria utilizar o SAX, ja que eh soh para incluir e mostrar os dados do guestbook…

Beleza… valeu aí dude.

Guilherme_Silveira

minha experiencia ve um arquivo xml muito mais util na troca de mensagens do que no armazenamento de dados do jeito que voce fala.
se vc quer flexibilidade para o sistema, deixce o codigo sql em aberto para ser multi-plataforma em relacao ao banco de dados. algum banco de dados o progrmaador vai ter acesso

gui

Adler_Medrado

Como assim troca de mensagens?
Eu pensei nisso … deixo o .sql aberto e tal. Mas como eu estou aprendendo a fuçar no XML, seria interessante fazer de tudo também.

Aliás, voce nao poderia me informar algum local que teria um tutorial bom sobre XML em portugues?

[]s

fsamir

Adler,

como vc pode ler acima, XML não é a melhor opção para armazenamento de dados. Uma boa susgetão, para vc poder disponibilizar sua aplicação independente do mySQL, é utilizar HypersonicSQL. Vc pode colocar o HSQL embutido na aplicação e quando for necessário trocar o B.D., basta alterar o driver de conexão.

Rafael_Steil

O que o guilherme quis dizer foi que XML eh melhor para “padroes de troca de mensagens”… um bom exemplo disso sao os webservices. Outra coisa eh fazer como o openoffice e outros offices esta fazendo, ou seja, o arquivo do documento nao eh binario, mas sim um tipo de xml, assim fica facil para outros programas suportarem.

Para base de dados nao eh mto recomendavel por causa do tamanho que o xml ficaria e da facilidade e velocidade necessaria para as operacoes, coisa qe o xml nao te proporciona.

Rafael

D

Preciso que alguém envie um código simples para abrir um documento xml e mostrar alguns resultados,

Valeuw´s.

Criado 30 de setembro de 2002
Ultima resposta 8 de nov. de 2004
Respostas 14
Participantes 7