CSharpBR - Colunistas
Carlos Andrioli
CSharpBR - Colunistas
Fabio Camara
CSharpBR - Colunistas
Cláudio Ralha
CSharpBR - Colunistas
Carlos Andrade
CSharpBR - Colunistas
Thomas Anjos
CSharpBR - Colunistas
Fabricio Rocha
CSharpBR - Colunistas
Marco Alves
CSharpBR - Colunistas
Adriano Galesso
CSharpBR - Colunistas
Angelo Macedo
CSharpBR - Colunistas
Robson Pelegrini
CSharpBR - Colunistas
Alex Ayub
CSharpBR - artigos Manipulando XML com C#

Abaixo vamos demonstrar um exemplo simples para a manipulação do XML:

Primeiramente para usarmos a função temos que importar o namespace:
using System.Xml;

O próximo passo para manipularmos um documento XML é carregarmos ele em memória. Para isso podemos utilizar a classe XmlDocument.
EXEMPLO DE XML


<empresa>
<funcionario>
<id>10 </id>
<nome>Frederico da Silva </nome>
<idade>25 </idade>
<cargo>Gerente </cargo>
</funcionario>
</empresa>

Para carregar o Xml que está em um arquivo fisico "Artigo_XML.xml" utilizamos o método Load(arquivo.xml).
Criação do Arquivo xml:

string caminho = @"C:\Artigo_XML.xml";

if (!File.Exists(caminho))
{
XmlDocument doc = new XmlDocument();
XmlNode raiz = doc.CreateElement("empresa");
doc.AppendChild(raiz);
doc.Save(caminho);
}

Se o arquivo não existir ele cria o arquivo xml, sendo necessário a inserção de um elemento Root neste exemplo
representado pelo elemento "empresa".

Inserir Registro:

Depois de criado precisamos muitas vezes inserir as informações no arquivo xml já existente, com isso precisamos inserir novos elementos utilizando o Método AppendChild.
XmlDocument doc = new XmlDocument();

string caminho = @"C:\Artigo_XML.xml";

doc.Load(caminho);

XmlNode linha = doc.CreateElement("funcionario");

XmlNode Id = doc.CreateElement("id");
XmlNode Nome = doc.CreateElement("nome");
XmlNode Idade = doc.CreateElement("idade");
XmlNode Cargo = doc.CreateElement("cargo");

Id.InnerText = "11";
Nome.InnerText = "Mario da Silva";
Idade.InnerText = "35";
Cargo.InnerText = "Financeiro";

linha.AppendChild(Id);
linha.AppendChild(Nome);
linha.AppendChild(Idade);
linha.AppendChild(Cargo);

doc.SelectSingleNode("/empresa").AppendChild(linha);

doc.Save(caminho);


Alterar Registro:

Para a alteração de um elemento do xml podemos utilizar:
XmlDocument doc = new XmlDocument();

string caminho = @"C:\Artigo_XML.xml";

doc.Load(caminho);
XmlNode no;
no = doc.SelectSingleNode(String.Format("/empresa/funcionario[id={0}]", 10));
no.SelectSingleNode("./cargo").InnerText = "Gerente Administrativo";
doc.Save(caminho);

Altera as informações do Funcionário Frederico da Silva baseado no seu id.

Deletar Registro:

Para Deletar um elemento do xml baseado em uma condição podemos utilizar:
XmlDocument doc = new XmlDocument();

string caminho = @"C:\Artigo_XML.xml";

doc.Load(caminho);

foreach (XmlNode no in doc.DocumentElement.ChildNodes)
{
if (int.Parse(no.ChildNodes.Item(0).InnerText) == 10)
{
doc.DocumentElement.RemoveChild(no);
doc.Save(caminho);
return;
}
}

O item(0) representa a primeira coluna da tabela funcionário que está representado pelo nó "id",



Conclusão! E essa é minha dica para facilitar a manipulação de um arquivo xml.Veremos mais dicas nos próximos artigos.

Criado e redigido por:
Fabricio Rocha.

DIVULGAÇÃO
Todos os direitos reservados
© Copyright CSharpBr - 2010
visitantes.