Guardar en XML.

Iniciado por Meta, 22 Mayo 2009, 13:33 PM

0 Miembros y 1 Visitante están viendo este tema.

Meta

Hola:

Tengo un pequeño código. Se trata de cambiar los valores de Location y Size al pulsar el mismo botón.

Lo que no se hacer y quiero aprender, es saber como guardar los valores en un XML.

Código (csharp) [Seleccionar]

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Xml;

namespace Tamaño_Boton
{
   public partial class Form1 : Form
   {
       public Form1()
       {
           InitializeComponent();
       }

       private void button1_Click(object sender, EventArgs e)
       {
           button1.Location = new Point(52, 12);
           button1.Size = new Size(75, 65);
       }

       private void button2_Click(object sender, EventArgs e)
       {
           try
           {
               XmlWriter w = XmlWriter.Create("Config.xml");
               w.WriteStartElement("Form1");
                // Código aquí.
               w.WriteEndElement();
               w.Close();
           }
           catch (IOException)
           {
               // bla, bla, bla...
           }
       }

       private void Form1_Load(object sender, EventArgs e)
       {
           try
           {
               XmlReader r = XmlReader.Create("Config.xml");
               r.ReadStartElement("Form1");
                // Código aquí.
               r.ReadEndElement();
               r.Close();
           }
           catch
           {
               // No se encuentra el archivo.
           }
       }
   }
}



Saludo.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Jorgitoh

Hola buenas noches. Mira ahora se me complica postearte una ayuda xq toi apunto de salir, asi que si me aguantas hasta el lunes te lo respondo.

Lo que si me gustaria saber es lo siguiente:

. Es necesario guardar los valores en XML?. Es decir, si el fin de la aplicacion es que al abrir el form tome los parametros que tenia antes podes usar las Settings ( no me acuerdo el nombre correcto ) que tiene .Net para guardar informacion dentro del proyecto.

. Ahora bien, no me queda claro la linea "w.WriteStartElement("Form1");". Vos del Form, que necesitas guardar? Solo la Location y Size o todos los atributos del form?. Si solo necesitas guardar esas dos variables podrias hacer que el XML quede algo asi:

< form >
< size valueX = 123 valueY = 123 >
< location valueX = 123 valueY = 123 >
< /form>

Si asi es como te gustaria que se guarden no creo que sea mucho problema resolverlo, fijate de responderme cuanto antes asi veo una solucion facil de comprender y explicar.

Saludos.

Pablo Videla

Esto es un ejemplo de como guardar datos en un xml ... este codigo es mio , lo saque de una tarea que estoy haciendo xD y como es poco codigo , te sera facil interpretarlo



Código (csharp) [Seleccionar]

protected void btAgregarPelicula_Click(object sender, EventArgs e)
    {

        string nombre = txtNombrePelicula.Text;
        int minutos = int.Parse(txtMinutosPelicula.Text);
        Boolean estreno;
        string estreno2 = (string)cbEstreno.SelectedValue;
        if (estreno2 == "si")
        {
            estreno = true;
        }
        else
        {

            estreno = false;
        }


        Peliculas movie = new Peliculas(nombre, minutos, estreno);
        //   peliculas.Add(movie);
        Contenido.listado.getPeliculas().Add(movie);
        // agregamos una pelicula
        //  lbEstado.Text = "Ha sido agregada la Pelicula : "+movie.Nombre;
        foreach (Peliculas a in Contenido.listado.getPeliculas())
        {
            lbEstado.Text = " La ultima pelicula agregada es " + a.Nombre;
        }



        //*********CREACION DEL XML **********
        XmlDocument doc = new XmlDocument();
        XmlNode nodo;
        XmlAttribute atributo;
        IEnumerator iterador = Contenido.listado.getPeliculas().GetEnumerator();
        // CREAMOS EL ARCHIVO XML
        string archivo = System.Environment.GetFolderPath(Environment.SpecialFolder.Personal) + "\\Peliculas.xml";

        nodo = doc.CreateElement("listadepeliculas");// CREAMOS LA ETIQUETA PRINCIPAL
        doc.AppendChild(nodo);
        while (iterador.MoveNext())
        {
           
            // CREANDO LOS ATRIBUTOS DEL XML
            una_pelicula = (Peliculas)iterador.Current;
            nodo = doc.CreateElement("pelicula");

            atributo = doc.CreateAttribute("nombre");
            atributo.InnerText = una_pelicula.Nombre.ToString();
            nodo.Attributes.Append(atributo);

            atributo = doc.CreateAttribute("duracion");
            atributo.InnerText = una_pelicula.Minutos.ToString();
            nodo.Attributes.Append(atributo);

            atributo = doc.CreateAttribute("estreno");
            atributo.InnerText = una_pelicula.Estreno.ToString();
            nodo.Attributes.Append(atributo);

            //atributo = doc.CreateAttribute("nota2");
            ///atributo.InnerText = un_alumno.Nota2.ToString();
            //nodo.Attributes.Append(atributo);
            doc.DocumentElement.AppendChild(nodo);
            doc.Save(archivo);
            //btVerXML.Enabled = true;
          //  btResumenXML.Enabled = true;

        }
    }