none
Guardar datos en XML RRS feed

  • Pregunta

  • Con Visual C# .NET 2005 tengo en un Form1 un ChecBox1 y un TexBox1

     

    Y más abajo un Button1,

     

    La idea es que al pulsar el chexbox1 y introducir datos en el texBox1, cuál es el código que al pulsar el Button1 se guarde esos datos en un aerchivo XML que cuando vuelva a ejecutar el programa, cargue con los datos guardados de antes???

    La verdad me cuesta un montón, VS 2005 es lo mejor.

    miércoles, 17 de enero de 2007 18:45

Respuestas

  • Hola,

    Si solo quieres guardar unos pocos valores en un doc XML, una forma simple y directa es:

            private void bGuardar_Click(object sender, EventArgs e)
            {
                XmlWriter w = XmlWriter.Create("miXML.xml");
                w.WriteStartElement("MiInfo");
                w.WriteElementString("TextBox", textBox1.Text);
                w.WriteElementString("CheckBox", checkBox1.Checked.ToString());
                w.WriteEndElement();
                w.Close();
            }

            private void bLeer_Click(object sender, EventArgs e)
            {
                XmlReader r = XmlReader.Create("miXML.xml");
                r.ReadStartElement("MiInfo");
                textBox1.Text = r.ReadElementContentAsString();
                checkBox1.Checked = Convert.ToBoolean(r.ReadElementContentAsString());
                r.Close();
            }

    Ojalá te sirva

    Saludos

    --------------------
    J. Marcos Troncoso
    Cochabamba - Bolivia

    miércoles, 17 de enero de 2007 21:31

Todas las respuestas

  • hola metaconta hize algo parecido para un modulo de retail para guardar datos de configuracion y tenia textbox y checkbox.

    lo que hize fue crear un data set le asigne sus columnas y sus filas con los datos q queria  y lo mande a guardar como xml para recupar la informacion leo el archivo xml y lo guardo en el dataset  y leo el dataset y recupero los datos q tenia te doy un ejemplo.

    DataSet ds = new DataSet(Application.ProductName);

    DataTable dt = new DataTable("Config");

    dt.Columns.Add("CodCia",Type.GetType("System.String"));

    dt.Columns.Add("Caja",Type.GetType("System.String"));

    dt.Columns.Add("UsaGaveta",Type.GetType("System.String"));

    dr.BeginEdit();

    dr["CodCia"] = txtCodCia.Text;

    dr["Caja"] = txtCaja.Text;

    dr["UsaGaveta"] = chkGaveta.Checked?"1":"0";

    dr.EndEdit();

    dt.Rows.Add(dr);

    ds.Tables.Add(dt);

    ds.WriteXml(Application.StartupPath + \\config.xml);

    //////////////////Para recuperar////////////////

    DataSet ds = new DataSet();

    if(System.IO.File.Exists(Application.StartupPath + \\config.xml))

    {

    ds.ReadXml(Application.StartupPath + \\config.xml);

    }

    Espero te pueda servir 

     

      

    miércoles, 17 de enero de 2007 20:43
  • Hola,

    Si solo quieres guardar unos pocos valores en un doc XML, una forma simple y directa es:

            private void bGuardar_Click(object sender, EventArgs e)
            {
                XmlWriter w = XmlWriter.Create("miXML.xml");
                w.WriteStartElement("MiInfo");
                w.WriteElementString("TextBox", textBox1.Text);
                w.WriteElementString("CheckBox", checkBox1.Checked.ToString());
                w.WriteEndElement();
                w.Close();
            }

            private void bLeer_Click(object sender, EventArgs e)
            {
                XmlReader r = XmlReader.Create("miXML.xml");
                r.ReadStartElement("MiInfo");
                textBox1.Text = r.ReadElementContentAsString();
                checkBox1.Checked = Convert.ToBoolean(r.ReadElementContentAsString());
                r.Close();
            }

    Ojalá te sirva

    Saludos

    --------------------
    J. Marcos Troncoso
    Cochabamba - Bolivia

    miércoles, 17 de enero de 2007 21:31
  • Hola La verdad que el segundo em sirvió, sólo le faltaba el using Systm.xml; Que por eso no me servía. Muchas gracioas
    viernes, 19 de enero de 2007 16:29
  • Por ceirto, hay algún manual o tutorial sobre xml para aprender bien estas cosas? Ños
    viernes, 19 de enero de 2007 18:25
  • yo pongo el segundo codigo y parece que funciona pero no se donde guarda el documento xml. no lo encuentro. ¿Donde se guarda?
    miércoles, 14 de febrero de 2007 17:28
  • Hola. si usas el código tal cual aparece en el ejemplo (sin especificar la ruta), el archivo xml se guarda en el directorio en que está el ejecutable de tu aplicación.

    Para especificar la ruta en que se guardará el archivo xml, simplemente hay que pasar la ruta completa al constructor del XmlWriter, por ejemplo asi:

    XmlWriter w = XmlWriter.Create(@"c:\datos\miXML.xml");

    Saludos

    --------------------
    J. Marcos Troncoso
    Cochabamba - Bolivia




    jueves, 15 de febrero de 2007 19:40
  • Eso justo buscaba, gracias.
    viernes, 16 de febrero de 2007 9:21
  • PROBARE TU CODIGO...GRACIAS!!!
    martes, 9 de abril de 2013 15:44
  • Con ese código he conseguido que se cree el documento xml y sus etiquetas pero no logro insertar datos dentro de las etiquetas.

    alguien sabría como

    jueves, 25 de abril de 2013 8:03
  • Como seria el codigo convertido para VB

    jueves, 10 de octubre de 2013 8:59