lunes, 10 de octubre de 2011

Código de lectura y escritura en un fichero XML.


Código de lectura en un fichero XML. Obtención de datos de artículos.

Se crea una aplicación que permita leer un fichero XML, mostrándolo en un control TextBox.

También permitirá añadir datos al final del fichero.



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CÓDIGO LECTURA DE UN FICHERO XML
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

       Dim total_elementos As Integer

        'cargar el fichero xml
        Dim documento_xml As New xmldocument
        documento_xml.Load("C:\XMLFile1.xml")

        TextBox1.Text = "Datos contenidos en el fichero C:\XMLFile1.xml" & Environment.NewLine
        TextBox1.Text = TextBox1.Text & " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -" & Environment.NewLine & Environment.NewLine

        Dim articulos As XmlNode = documento_xml.DocumentElement

        For Each articulo As XmlElement In articulos.ChildNodes
            'se añade el atributo al textbox
            TextBox1.Text = TextBox1.Text & "Código de artículo: "
            TextBox1.Text = TextBox1.Text & articulo.GetAttribute("codigo_articulo")
            TextBox1.Text = TextBox1.Text & Environment.NewLine
            'se añaden los valores de los textos al textbox
            TextBox1.Text = TextBox1.Text & "Descripción: "
            TextBox1.Text = TextBox1.Text & articulo.Item("descripcion").InnerText
            TextBox1.Text = TextBox1.Text & Environment.NewLine
            TextBox1.Text = TextBox1.Text & "Precio de compra: "
            TextBox1.Text = TextBox1.Text & articulo.Item("precio_compra").InnerText
            TextBox1.Text = TextBox1.Text & " - IVA de compra: "
            TextBox1.Text = TextBox1.Text & articulo.Item("iva_compra").InnerText

            ' TextBox1.Text = TextBox1.Text & Environment.NewLine
            TextBox1.Text = TextBox1.Text & " - Importe IVA compra: " & (CDbl(articulo.Item("precio_compra").InnerText) * CDbl(articulo.Item("iva_compra").InnerText) / 100)

            TextBox1.Text = TextBox1.Text & Environment.NewLine
            TextBox1.Text = TextBox1.Text & "PVP compra: " & (CDbl(articulo.Item("precio_compra").InnerText) * (1 + (CDbl(articulo.Item("iva_compra").InnerText) / 100)))


            TextBox1.Text = TextBox1.Text & Environment.NewLine
            TextBox1.Text = TextBox1.Text & "Precio de venta: "
            TextBox1.Text = TextBox1.Text & articulo.Item("precio_venta").InnerText
            TextBox1.Text = TextBox1.Text & " - IVA de venta: "
            TextBox1.Text = TextBox1.Text & articulo.Item("iva_venta").InnerText

            'TextBox1.Text = TextBox1.Text & Environment.NewLine
            TextBox1.Text = TextBox1.Text & " - Importe IVA venta: " & (CDbl(articulo.Item("precio_venta").InnerText) * CDbl(articulo.Item("iva_venta").InnerText) / 100)

            TextBox1.Text = TextBox1.Text & Environment.NewLine
            TextBox1.Text = TextBox1.Text & "PVP venta: " & (CDbl(articulo.Item("precio_venta").InnerText) * (1 + (CDbl(articulo.Item("iva_venta").InnerText) / 100)))

            TextBox1.Text = TextBox1.Text & Environment.NewLine
            TextBox1.Text = TextBox1.Text & Environment.NewLine

            total_elementos += 1
        Next

        'TextBox1.Text = TextBox1.Text & Environment.NewLine
        TextBox1.Text = TextBox1.Text & " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -" & Environment.NewLine
        TextBox1.Text = TextBox1.Text & "Se han mostrado un total de " & total_elementos & " artículos."


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CÓDIGO ESCRITURA DE UN FICHERO XML
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



 Private Sub bt_anadir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_anadir.Click

        'Se crea una variable para acceder al documento XML
        Dim documento_xml As New XmlDocument

        'Se indica la ubicación del fichero y se abre
        documento_xml.Load("C:\XMLFile1.xml")

        Dim articulo As XmlElement = documento_xml.CreateElement("articulo")
        articulo.SetAttribute("codigo_articulo", txt_codigo.Text)

        Dim descripcion As XmlElement = documento_xml.CreateElement("descripcion")
        descripcion.InnerText = txt_descripcion.Text
        articulo.AppendChild(descripcion)

        Dim precio_compra As XmlElement = documento_xml.CreateElement("precio_compra")
        precio_compra.InnerText = txt_neto_compra.Text
        articulo.AppendChild(precio_compra)

        Dim iva_compra As XmlElement = documento_xml.CreateElement("iva_compra")
        iva_compra.InnerText = txt_iva_compra.Text
        articulo.AppendChild(iva_compra)

        Dim precio_venta As XmlElement = documento_xml.CreateElement("precio_venta")
        precio_venta.InnerText = txt_neto_venta.Text
        articulo.AppendChild(precio_venta)

        Dim iva_venta As XmlElement = documento_xml.CreateElement("iva_venta")
        iva_venta.InnerText = txt_iva_venta.Text
        articulo.AppendChild(iva_venta)

        'Se obtiene el nodo raiz que en este caso se corresponde con la etiqueta articulos
        Dim nodo_raiz As XmlNode = documento_xml.DocumentElement

        'Se inserta el artículo al final del archivo dentro del nodo raiz
        nodo_raiz.InsertAfter(articulo, nodo_raiz.LastChild)

        documento_xml.Save("C:\XMLFile1.xml")

        MessageBox.Show("Dato añadido correctamente.")

    End Sub


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FORMATO DEL FICHERO XML
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


<?xml version="1.0" encoding="utf-8"?>
<articulos>
  <articulo codigo_articulo="0001">
    <descripcion>Articulo de prueba 0001</descripcion>
    <precio_compra>12</precio_compra>
    <iva_compra>18</iva_compra>
    <precio_venta>21</precio_venta>
    <iva_venta>18</iva_venta>
  </articulo>
  <articulo codigo_articulo="0002">
    <descripcion>Articulo de prueba 0002</descripcion>
    <precio_compra>120</precio_compra>
    <iva_compra>8</iva_compra>
    <precio_venta>150</precio_venta>
    <iva_venta>8</iva_venta>
  </articulo>
  <articulo codigo_articulo="0003">
    <descripcion>Articulo de prueba 0003</descripcion>
    <precio_compra>1</precio_compra>
    <iva_compra>18</iva_compra>
    <precio_venta>25</precio_venta>
    <iva_venta>8</iva_venta>
  </articulo>
  <articulo codigo_articulo="0004">
    <descripcion>Articulo de prueba 0004</descripcion>
    <precio_compra>1,15</precio_compra>
    <iva_compra>18</iva_compra>
    <precio_venta>2,99</precio_venta>
    <iva_venta>8</iva_venta>
  </articulo>
  <articulo codigo_articulo="0005">
    <descripcion>Articulo de prueba 0004</descripcion>
    <precio_compra>100</precio_compra>
    <iva_compra>18</iva_compra>
    <precio_venta>1000</precio_venta>
    <iva_venta>8</iva_venta>
  </articulo>
  <articulo codigo_articulo="0007">
    <descripcion>descripcion</descripcion>
    <precio_compra>100</precio_compra>
    <iva_compra>18</iva_compra>
    <precio_venta>200</precio_venta>
    <iva_venta>18</iva_venta>
  </articulo>
  <articulo codigo_articulo="008">
    <descripcion>art008</descripcion>
    <precio_compra>200</precio_compra>
    <iva_compra>18</iva_compra>
    <precio_venta>500</precio_venta>
    <iva_venta>8</iva_venta>
  </articulo>
  <articulo codigo_articulo="0009">
    <descripcion>Descripcion Articulo 0009</descripcion>
    <precio_compra>100</precio_compra>
    <iva_compra>18</iva_compra>
    <precio_venta>200</precio_venta>
    <iva_venta>18</iva_venta>
  </articulo>
  <articulo codigo_articulo="0010">
    <descripcion>Descripcion Articulo 0010</descripcion>
    <precio_compra>100</precio_compra>
    <iva_compra>18</iva_compra>
    <precio_venta>200</precio_venta>
    <iva_venta>18</iva_venta>
  </articulo>
  <articulo codigo_articulo="0011">
    <descripcion>Descripcion Articulo 0011</descripcion>
    <precio_compra>1000</precio_compra>
    <iva_compra>18</iva_compra>
    <precio_venta>2000</precio_venta>
    <iva_venta>18</iva_venta>
  </articulo>
  <articulo codigo_articulo="0012">
    <descripcion>Descripcion Articulo 0012</descripcion>
    <precio_compra>1</precio_compra>
    <iva_compra>18</iva_compra>
    <precio_venta>2,5</precio_venta>
    <iva_venta>18</iva_venta>
  </articulo>
  <articulo codigo_articulo="0013">
    <descripcion>Descripcion Articulo 13</descripcion>
    <precio_compra>100</precio_compra>
    <iva_compra>18</iva_compra>
    <precio_venta>200</precio_venta>
    <iva_venta>18</iva_venta>
  </articulo>
</articulos>

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...