De nuevo XML

19/04/2007 - 19:43 por Martin Gamundi | Informe spam
Disculpen de nuevo la pregunta pues ya la habia hecho. Me refirieron a la
clase XMLDocument, XMLTextreader y writer; he estado buscando algun ejemplo
sencillo tanto en la ayuda como en internet pero no lo encuentro.
Tambien he ido a http://es.gotdotnet.com/quickstart/howto/ pero no lo
encuentro. Aparecen algunos ejemplos pero son tan complejos que no los
entiendo bien.

Lo que quiero es tener un ejemplo sencillo de :
Tengo un archivo local en la ruta d:\XML\MiArchivo.XML. Quiero un ejemplo
de como puedo leer una clave llamada quizas "MiClave" de ese archivo en la
seccion "MiSeccion".
Tambien como puedo actualizar el valor de dicha clave en dicho archivo.


Se lo agradezco mucho la ayuda que me puedan dar.


Martin

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
20/04/2007 - 09:34 | Informe spam
"Martin Gamundi" wrote in message
news:OzM5m$
Gracias. Abusando un poco de la ayuda que me has dado, cual seria la ruta
del parametro que debo incluir en la llamada a SelectSingleNode para que
me devuelva el string value de MiClave en el siguiente contenido de un
archivo config.

- <configuration>
- <applicationSettings>
- <Prueba.Properties.Settings>
- <setting name="MiClave" serializeAs="String">
<value>valor de miclave</value>
</setting>
</Prueba.Properties.Settings>
</applicationSettings>
</configuration>



Bueno, no soy un experto en XPATH, pero si no me equivoco la consulta
sería parecida a la siguiente:

"//setting[@name='MiClave']/value"
Respuesta Responder a este mensaje
#2 Martin Gamundi
20/04/2007 - 13:05 | Informe spam
Esta bien pero el asunto como dije en el mensaje original es para tanto leer
como para escribir. Leer es sencillo pero escribir parece que no tanto.
El problema seria como localizar el nodo para el ejemplo indicado y usar
luego la opcion que me dio Alberto para actualizar el archivo.
Que cosa complicada no!

Gracias de todos modos

Martin


"[Juanjo]" escribió en el mensaje
news:

Por lo que creo estas intentado leer el fichero config que genera la
aplicacion no?

Tienes un clase que te lee todo eso.

Por ejemplo, para este fichero:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="ConexionBD" connectionString="blablabla"
providerName="System.Data.OleDb" />
</connectionStrings>
<appSettings>
<add key="rutaBackUP" value="\\servidor\copiaSeguridadBD\" />
</appSettings>
</configuration>

Con los metodos:
conexionBD =
ConfigurationManager.ConnectionStrings["ConexionBD"].ToString();
direcotorioBackUP =
ConfigurationManager.AppSettings["rutaBackUP"].ToString();

lo lees directamente, y no necesitas recorrer el fichero, nodos, etc

Espero te sirva.

Un saludo.


"Martin Gamundi" escribió en el mensaje
news:OzM5m$
Gracias. Abusando un poco de la ayuda que me has dado, cual seria la
ruta del parametro que debo incluir en la llamada a SelectSingleNode para
que me devuelva el string value de MiClave en el siguiente contenido de
un archivo config.

- <configuration>
- <applicationSettings>
- <Prueba.Properties.Settings>
- <setting name="MiClave" serializeAs="String">
<value>valor de miclave</value>
</setting>
</Prueba.Properties.Settings>
</applicationSettings>
</configuration>



"Alberto Poblacion"
wrote in message news:
"Martin Gamundi" wrote in message
news:
Lo que quiero es tener un ejemplo sencillo de :
Tengo un archivo local en la ruta d:\XML\MiArchivo.XML. Quiero un
ejemplo de como puedo leer una clave llamada quizas "MiClave" de ese
archivo en la seccion "MiSeccion".



Algo parecido a lo siguiente (escrito de memoria, no lo he probado):

XmlDocument xd = new XmlDcument();
xd.Load(@"d:\XML\MiArchivo.XML");
XmlNode nodo=xd.SelectSingleNode("//MiSeccion/MiClave");
if (nodo!=null)
{
valor=nodo.FirstChild.Value;
}


Tambien como puedo actualizar el valor de dicha clave en dicho archivo.



nodo.FirstChild.Value="Nuevo Valor";
xd.Save((@"d:\XML\MiArchivo.XML");










email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida