none
Lectura de un fichero XML

    Question

  • Saludos!
    En la aplicación que estoy desarrollando necesito leer datos de un fichero XML.
    El fichero en cuestión sería este:
    <Window ...
        Title="Prueba" Height="320" Width="240">
        <Grid>
            <Button Height="23" Margin="26,58,0,0" Name="button1" Width="75" Click="button1_Click">Mi boton</Button>
            <Label Height="23" Margin="0,58,28,0" Name="label1" Width="75"></Label>
        </Grid>
    </Window>
    La cuestión es que necesito tener el valor de los atributos. Comienzo leyendo de esta forma:
                XmlTextReader lector = new XmlTextReader(rutadirectorio);
                lector.Read();
                lector.ReadStartElement("Window");
                lector.ReadStartElement("Grid");
                lector.ReadStartElement("Button");
    
    ¿Para obtener el valor del atributo "Height" del elemento button cómo lo hago? Había probado a hacerlo así, pero creo que no se puede:
                lector.MoveToAttribute("Height");
                lector.ReadAttributeValue();
                lector.Value
    
    Siendo el atributo Value del lector el dato que quiero, pero creo que así no es, porque no me da el resultado esperado.
    Gracias, un saludo!
    Wednesday, July 15, 2009 8:22 AM

Answers


  • using System.IO;
    using System.Xml;
    using System.Diagnostics;
    using System.Drawing.Imaging;


    XmlReader r = XmlReader.Create("Config_client.xml");
                    r.ReadStartElement("PC1-Client");
                    textBox_Puerto.Text = r.ReadElementContentAsString();
                    textBox_IP.Text = r.ReadElementContentAsString();
                    configuraciónToolStripMenuItem.Checked = Convert.ToBoolean(r.ReadElementContentAsString());
                    panel_inferior.Visible = Convert.ToBoolean(r.ReadElementContentAsString());
                    botónActivarToolStripMenuItem.Checked = Convert.ToBoolean(r.ReadElementContentAsString());
                    label_titulo.Text = r.ReadElementContentAsString();
                    r.ReadEndElement();
                    r.Close();


    • Marked as answer by Bece Wednesday, July 15, 2009 10:43 AM
    Wednesday, July 15, 2009 8:56 AM

All replies


  • using System.IO;
    using System.Xml;
    using System.Diagnostics;
    using System.Drawing.Imaging;


    XmlReader r = XmlReader.Create("Config_client.xml");
                    r.ReadStartElement("PC1-Client");
                    textBox_Puerto.Text = r.ReadElementContentAsString();
                    textBox_IP.Text = r.ReadElementContentAsString();
                    configuraciónToolStripMenuItem.Checked = Convert.ToBoolean(r.ReadElementContentAsString());
                    panel_inferior.Visible = Convert.ToBoolean(r.ReadElementContentAsString());
                    botónActivarToolStripMenuItem.Checked = Convert.ToBoolean(r.ReadElementContentAsString());
                    label_titulo.Text = r.ReadElementContentAsString();
                    r.ReadEndElement();
                    r.Close();


    • Marked as answer by Bece Wednesday, July 15, 2009 10:43 AM
    Wednesday, July 15, 2009 8:56 AM
  • Finalmente lo solucioné con los métodos ReadToFollowing(string) y GetAttribute(string). Gracias de todas formas!
    Wednesday, July 15, 2009 10:42 AM