Olá Pessoal =D
Hoje iremos aprender na prática algumas das funções básicas para criação e manipulação de XML.
Neste post não irei explicar a parte teórica, mas deixo como sugestão o link http://www.w3schools.com/xml/default.asp.
Vamos começar?!
Para criar um projeto clique em File - New Project - ConsoleApplication e informe o nome e o local que o projeto ficará (listagem e figura 1).
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
namespace AprenderXML
{
class Program
{
static void Main(string[] args)
{
// Tela fica no aguardo de clicar em alguma tecla para fechar
Console.ReadKey();
}
}
}
Listagem 1 - Codificação inicial.

Figura 1 - Exibindo tela com codificação inicial.
Vamos codificar?!
Importante: Os códigos deverão ser incluídos dentro método Main com exceção do namespace (este será incluído junto com os demais namespaces).
O namespace para trabalhar com XML na listagem 2.
using System.Xml;
Listagem 2 - Incluindo namespace
Na listagem 3 criaremos um documento XML.
XmlDocument xmlDocument = new XmlDocument();
Listagem 3 - Criando um documento XML.
Vamos criar uma variável do tipo XmlNode para criarmos os elementos (nó) do documento xml (listagem 4).
XmlNode node;
Listagem 4 - Criando uma variável XMLNode.
Criaremos nosso nó raiz no documento XML conforme listagem 5 e figura 2.
// Criando um nó raiz
node = xmlDocument.CreateElement("Aluno");
// Adicionando o nó no documento
xmlDocument.AppendChild(node);
Listagem 5 - Criando o nó raiz.

Figura 2 - Exibindo o nó raiz.
Incluiremos um nó dentro do nó raiz (listagem 6 e figura 3).
// Criando um nó chamado Nome
node = xmlDocument.CreateElement("Nome");
// Atribuido valor ao nó Nome
node.InnerText = "Fernanda";
// Adicionando o nó dentro no nó Aluno
xmlDocument.SelectSingleNode("/Aluno").AppendChild(node);
Listagem 6 - Incluindo nó dentro do nó raiz.

Figura 3 - Exibindo o nó dentro do nó raiz.
Incluiremos um nó dentro do nó Nome na listagem 7 e figura 4.
// Criando um nó chamado Sobrenome
node = xmlDocument.CreateElement("Sobrenome");
// Atribuido valor ao nó Sobrenome
node.InnerText = "Sallai";
// Adicionando o nó dentro do nó Nome que está dentro do nó aluno
xmlDocument.SelectSingleNode("/Aluno/Nome").AppendChild(node);
Listagem 7 - Incluindo nó dentro do nó Nome.

Figura 4 - Exibindo mais um nó criado.
Salvando o xml informando o local e o nome que irá salvar (listagem 8).
xmlDocument.Save("C:/ProjetosDeEstudo/alunos.xml");
Listagem 8 - Salvando o xml.
Carregando um XML já existente conforme listagem 9.
xmlDocument.Load("C:/ProjetosDeEstudo/alunos.xml");
Listagem 9 - Carregando XML existente.
InnerXml e OuterXml
Ambos mostram a estrutura completa do XML e podemos usá-los dessa forma (listagem 10 e figura 5).
Console.WriteLine(xmlDocument.InnerXml + Environment.NewLine);
Console.WriteLine(xmlDocument.OuterXml + Environment.NewLine);
Listagem 10 - Carregando a estrutura completa do XML.

Figura 5 - Exibindo a estrutura do XML.
Porém se diferenciam quando selecionamos a partir de um nó. Veja a listagem 11 e a figura 6.
// OuterXml -> traz o nó aluno e o que tem dentro dele
Console.WriteLine(xmlDocument.SelectSingleNode("/Aluno").OuterXml + Environment.NewLine);
// InnerText -> traz só o que está dentro do nó aluno
Console.WriteLine(xmlDocument.SelectSingleNode("/Aluno").InnerXml + Environment.NewLine);
Listagem 11 - Carregando estrutura a partir de um nó selecionado.

Figura 6 - Exibindo a estrutura do XML a partir do nó selecionado.
Para trazer somente o texto que está no nó (listagem 12 e figura 7).
//InnerText -> somente o texto
Console.WriteLine(xmlDocument.InnerText);
Listagem 12 - Carregando somente o texto do(s) nó(s).

Figura 7 - Exibindo somente o texto do(s) nó(s).
Viu como não é tão dificil manipular XML ?!
Até o próximo post. Ah.. E não esqueça de comentar. Seu comentário ajuda a melhorar ainda mais os posts.
Obrigada =D
Projeto disponível: AprenderXML.zip (23,13 kb)