Pesquisar no Programero

segunda-feira, 27 de abril de 2009

Arquivo de configuração ASP .NET

Para quem não quer gravar certas informações no web.config pode muito bem estruturar um arquivo xml para guardar informações, segue um exemplo em C# de como fazer isso:
     //
    //gravando informação no CONFIG.xml
    public void gravaConf(String tipo, String val)
    {
        String par = "";
        //
        //Carrega em DOC o arquivo XML, o caminho pode ser uma url ou diretorio local       
        XmlDocument doc = new XmlDocument();
        doc.Load(HttpContext.Current.Server.MapPath("~/CONF/CONFIG.XML"));
        XmlNode no;
        no = doc.SelectSingleNode("//CONF/" + tipo);
        no.InnerText = val;        
        doc.Save(HttpContext.Current.Server.MapPath("~/CONF/CONFIG.XML"));       
        doc = null;
    }

//
//recupera informação do CONFIG.xml
public String recuperaConf(String tipo)
{
    String par = "";
    //
    //Carrega em DOC o arquivo XML, o caminho pode ser uma url ou diretorio local       
    XmlDocument doc = new XmlDocument();
    doc.Load(HttpContext.Current.Server.MapPath("~/CONF/CONFIG.XML"));
    //
    //Cria uma instância XmlElement na qual atribuindo a raiz do documento
    XmlElement Elem = doc.DocumentElement;
    //
    //Percorre todos os elementos filhos que existem no elemento raiz
    for (int i = 0; i < Elem.ChildNodes.Count; i++)
    {
        if (Elem.ChildNodes.Item(i).Name.Equals(tipo))
        {
            par = Elem.ChildNodes.Item(i).InnerText;
            break;
        }
    }
    doc = null;
    return par;
}

Arquivo exemplo:
<?xml version="1.0" encoding="utf-8"?>
<CONF>
  <appBase>BASE_DE_DADOS</appBase>
  <appSenhaBd>SENHA_123</appSenhaBd>
  <appUsuarioBd>USUARIO_SIS</appUsuarioBd>
</CONF>

Os dois métodos são simples, no de gravação passamos o nome do e o novo valor, e para recuperar os dados apenas informamos o .

3 comentários:

  1. Olha, juro que gostaria de entender isso, mas...
    Sem comentários hahahaha

    Um beijo

    ResponderExcluir
  2. Oi Patty não esquenta por não entender os posts técnicos, hehe e você Dimoraes obrigado pela visita e comentário.

    ResponderExcluir

Obrigado por Participar do programero, fique a vontade para agradecer, retificar, perguntar ou sugerir.