Foros del Web » Programación para mayores de 30 ;) » .NET »

4 de 4 (WinForm): modificar archivo de configuración XML

Estas en el tema de 4 de 4 (WinForm): modificar archivo de configuración XML en el foro de .NET en Foros del Web. Y por fin, acabo la serie de preguntas. 4 de 4: Utilizo un archivo de configuración (aplicac.exe.config) con claves para recuperar ciertos valores, como rutas ...
  #1 (permalink)  
Antiguo 20/10/2004, 13:03
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
4 de 4 (WinForm): modificar archivo de configuración XML

Y por fin, acabo la serie de preguntas.

4 de 4:

Utilizo un archivo de configuración (aplicac.exe.config) con claves para recuperar ciertos valores, como rutas de BD, directorios y otras propiedades. Como sabréis, un archivo de configuración es un XML con esta estructura

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="clave" value="valor" />
</appSettings>
</configuration>

Para recuperar el valor de una clave, tan sólo hay que hacer esto:

variable = System.Configuration.ConfigurationSettings.AppSett ings("clave")

Pero cuando intenté cambiar alguna de las claves, no se puede, ya que System.Configuration...... es de sólo lectura. Entonces, para modificar las claves, supongo que tendría que crear un objeto de la clase System.XML y reescribirlo todo ¿no? ¿Existe la posibilidad de hacer esto de una manera mucho más sencilla?

Por cierto, cada vez que ejecuto el proyecto desde VS.Net el XML no se guarda en la carpeta \bin con el ejecutable y lo tengo que meter yo.

¿Se puede?

Bueno espero no haber abusado mucho del foro, pero he ido guardando las preguntas para cuando tuviera un ratito y ponerlas todas juntos. No os enfadéis.

Un saludo y gracias.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #2 (permalink)  
Antiguo 21/10/2004, 09:16
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 10 meses
Puntos: 7
Para poder editar el .exe.config yo lo he conseguido hacer pero mediante una clase que hay por ahí, si eso buscala por internet, creo que en sourceproject la tenian.

Si no la encuentras mandame un e-mail que te mando la clase junto con algún ejemplo.

Saludos.
__________________
Charlie.

Última edición por chcma; 21/10/2004 a las 09:17
  #3 (permalink)  
Antiguo 21/10/2004, 12:28
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Hola chcma, gracias por contestar. En SourceForce no he encontrado esa clase que me comentas, pero buscando buscando he llegado hasta aquí:

http://www.dotnetspider.com/Technology/KBPages/344.aspx

Échale un ojo si puedes a ver si ésta es la que me comentabas o si no, si sirve de igual forma. Está en C#, pero si vale ya me preocuparé en ir traduciéndola poco a poco a VB.

Un saludo y gracias de nuevo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #4 (permalink)  
Antiguo 22/10/2004, 05:28
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 10 meses
Puntos: 7
Perdona, me equivoque, no es en sourceproject, mira en codeproject.com, ahi si aparece, de todas maneras creo que ese link que me has pasado también vale.

La clase que yo te digo esta hecha en VB.NET, por lo que igual te puede interesar mas, sino creo también haber visto un ejemplo en la página de msdn.

De todas formas, puedes probar con la clase que has encontrado, si te sirve, pues pa lante.
__________________
Charlie.
  #5 (permalink)  
Antiguo 26/10/2004, 04:33
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Hola chcma, gracias por la aclaración. He buscado en codeproject y he visto esto:

http://www.codeproject.com/csharp/ReadWriteXmlIni.asp

Aunque la clase está escrita en C# no hay ningún problema, ya que sólo tengo que añadir la referencia en el proyecto. Luego realmente, el código para modificar el archivo de configuración son sólo dos líneas y que la única diferencia es casi el punto y coma de cada línea.

En cuanto la pruebe te comento el resultado.

Gracias de nuevo.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #6 (permalink)  
Antiguo 26/10/2004, 05:25
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 10 meses
Puntos: 7
Parece valer. De todas formas, aqui te dejo el ejemplo (Al fin lo encontré) que emplee yo para hacer mi clase.

Lo único que tienes que hacer es quitar un par de cosas y cambiar el constructor, ya que este ejemplo genera el fichero el solo. Por lo que tienes que cambiar es el constructor, para decirle al objeto, al crearlo, donde está el .exe.config

http://www.codeproject.com/Purgatory/bfackrellConfg.asp

Esta muy bien, y además esta hecho en VB.NET, haber que te parece.
Saludos.
__________________
Charlie.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:36.