terça-feira, 27 de março de 2012

Ficheiros XML

XML (Extensible Markup Language) é um formato organizado de dados.

Neste artigo vou mostrar de uma forma simples, como escrever, ler, alterar e eliminar dados nestes ficheiros.
Estrutura de ficheiro xml, deve existir sempre um elemento principal (root tag) e os elementos secundários.


<?xml version="1.0" encoding="utf-8"?>
<!--Lista de Compras-->
<Compras>
  <Vegetais>
    <Vegetal1>Couves</Vegetal1>
    <Vegetal2>Alfaces</Vegetal2>
    <Vegetal3>Espinafre</Vegetal3>
  </Vegetais>
  <Frutos>
    <Fruto1>Maça</Fruto1>
    <Fruto2>Banana</Fruto2>
    <Fruto1>Laranja</Fruto1>
    <Fruto2>Cereja</Fruto2>
  </Frutos>
</Compras>

- Criar
' Cria um novo ficheiro XML com a codificação UTF8
Dim xmlw As New XmlTextWriter(Environment.CurrentDirectory & "\MyXML.xml", System.Text.Encoding.UTF8)
        xmlw.Formatting = Formatting.Indented
        xmlw.WriteStartDocument()
        ' Adiciona um comentário geral
        xmlw.WriteComment("Lista de Compras")
        ' Criar um elemento geral
        xmlw.WriteStartElement("Compras")
        ' Criar o elemento "Vegetais" e alguns dados
        With xmlw
            .WriteStartElement("Vegetais")
            .WriteElementString("Vegetal1", "Couves")
            .WriteElementString("Vegetal2", "Alfaces")
            .WriteElementString("Vegetal3", "Espinafre")
            .WriteEndElement()
        End With
        ' Criar o elemento "Frutos" e alguns dados
        With xmlw
            .WriteStartElement("Frutos")
            .WriteElementString("Fruto1", "Maça")
            .WriteElementString("Fruto2", "Banana")
            .WriteElementString("Fruto1", "Laranja")
            .WriteElementString("Fruto2", "Cereja")

            .WriteEndElement()
        End With
        xmlw.WriteEndElement()
        xmlw.WriteEndDocument()
        ' Fecha o documento XML
        xmlw.Flush()
        xmlw.Close()
- Fim Criar

Para ler um elemento
 xml.Load(Environment.CurrentDirectory & "\MyXML.xml") 'Pegar nomes para as colunas do DGV_SEL
Dim s As String = xml.DocumentElement.GetElementsByTagName("Vegetal1").Item(0).InnerText
MsgBox(s)

Para modificar um elemento

 'Para alterar valores
        Dim xDoc As New XmlDocument : xDoc.Load(Environment.CurrentDirectory & "\MyXML.xml")
        Dim nodelist As Xml.XmlNodeList
        nodelist = xDoc.GetElementsByTagName("Vegetal1")
        nodelist.Item(0).InnerText = "1"

        xDoc.Save(Environment.CurrentDirectory & "\MyXML.xml")


E por ultimo apagar um elemento
        Dim xmlFile = XDocument.Load(Environment.CurrentDirectory & "\MyXML.xml")
        xmlFile...<Numeros>.Remove() 'Remove um elemento geral (por completo)
        xmlFile...<N1>.Remove() 'Remove um único elemento
        xmlFile.Save(Environment.CurrentDirectory & "\MyXML.xml")

Neste artigo pretendo demonstrar como trabalhar com ficheiros xml de uma forma simples.
Até breve...

Sem comentários:

Enviar um comentário