Em www.smartjava.com.br tem um artigo sobre isto... Usando XML em arquivos de configuração por Sergio Oliveira Jr.
Introdução Nesse artigo falarei sobre como XML está se tornando rapidamente o padrão para arquivos de configuração, em detrimento dos arquivos de texto puro. Esqueça os arquivos .conf do Linux, os arquivos .ini do Windows e a classe java.util.Properties. Com XML tudo fica mais fácil e elegante! O que é XML? Gosto de pensar em XML como pura e simplesmente uma representação de dados. Não é uma linguagem de formatação de dados como alguns afirmam, mas sim uma representação de dados que pode ser analisada, manipulada, transformada, transmitida, validada e formatada. Arquivos de Configuração A especificação do EJB 1.1 (Enterprise JavaBeans) da Sun Microsystems trouxe uma novidade muito boa para nós desenvolvedores ávidos por portabilidade e simplicidade: Os arquivos para deployment (configuração) dos Beans (deployment descriptors) foram padronizados para XML. Essa prática foi rapidamente seguida por outras especificações da Sun, como JSP/Servlet, se tornando um padrão para configuração de aplicações e arquivos de inicialização. Recentemente migrei alguns dos meus servidores Java para esse padrão, e constatei como essa solução é fácil, prática e elegante. O arquivo XML abaixo é utilizado para a configuração do meu programa JProxy: <?xml version="1.0"?> <JProxy> <porta>443</porta> <accept-list> <accept> <host>java.trend.com.br</host> <porta>*</porta> </accept> <accept> <host>www.trend.com.br</host> <porta>5001</porta> </accept> </accept-list> </JProxy> Java e XML Agora descreverei como é simples para um programa Java analisar e interpretar esse documento. Você precisará do Xerces, que é um parser XML, e do JDOM, que na minha opinião é a melhor API de XML para Java. Após baixar essas bibliotecas, adicione os arquivos xerces.jar e jdom.jar no seu CLASSPATH. import org.jdom.*; import org.jdom.input.*; import java.io.*; import java.util.*; public class TestXML { public static void main(String [] args) { String filename = args[0]; if (filename == null) { System.err.println("Faltou o nome do arquivo XML!"); return; } try { // Inicialize o SAX (Xerces) Parser... // O parâmetro indica que o documento // não será validado por um DTD ou Schema... SAXBuilder builder = new SAXBuilder(false); Document doc = builder.build(new File(filename)); Element root = doc.getRootElement(); String porta = root.getChild("porta").getText(); System.err.println("A porta do servidor eh: " + porta); Element accept = root.getChild("accept-list"); List acceptList = accept.getChildren("accept"); Iterator iter = acceptList.iterator(); System.err.println("Aceite conexoes aqui: "); while(iter.hasNext()) { Element element = (Element) iter.next(); String h = element.getChild("host").getText(); String p = element.getChild("porta").getText(); System.err.println(h + ":" + p); } } catch(JDOMException e) { System.err.println("Problemas: " + e); } } } Como vocês podem ver, não há muito mistério e o código acima é bem auto-explicativo. Entretanto, como tudo em Java, é imprescindível ter a documentação do JDOM em mãos para utilizar a API. Nela você verá que existem diversos métodos para a manipulação e criação de documentos XML, como o método Attribute getAttribute(String s), que retorna um parâmetro de um elemento XML. Conclusão Através da API do JDOM, a manipulação de arquivos XML em Java é bastante simples e elegante. Esse artigo demonstrou como podemos utilizar arquivos XML para a configuração de aplicações e para a construção de arquivos de inicialização, uma prática que está se tornando padrão no mercado de software. Sobre o Autor: Sergio Oliveira Jr. é engenheiro de computação certificado pela Sun Microsystems em programação Java. Trabalhou na Accenture (ex-Andersen Consulting) como consultor de Internet e atualmente trabalha na Escola24Horas desenvolvendo soluções em Java para o ensino a distância. Também presta consultoria Java para empresas de médio e grande porte. Copyright (c) 2001 - Todos os direitos dessa publicação estão reservados ao autor, sendo expressamente proibida a reprodução total ou parcial desse artigo de acordo com o Art. 184 do Código Penal e Art. 30 da Lei 5.988/73 ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------