Array
(
)

Duvida ler XML - Csharp

Iago Melo
   - 30 set 2015

Bom dia!
Alguém sabe me dizer como posso ler um arquivo XML e estar mantendo suas informações em variáveis. Tenho uma função com XmlTextReader mas ele apenas lê e printa na tela, gostaria de manter estas informações em variáveis para usa-las depois no meu projeto. Alguém sabe me ajudar?
Grato.

Iago Melo
   - 30 set 2015

Estou tentando da seguinte forma:

#Códigotry
{
int x = 0;

FileStream dir = new FileStream(arquivo, FileMode.Open);

// Abre um stream para a leitura do arquivo XML
XmlTextReader leitor = new XmlTextReader(dir);

while (leitor.Read())
{
//verificacao do tipo de nó lido
switch (leitor.NodeType)
{
case XmlNodeType.Element: // O nó é um elemento.
Console.Write("<" + leitor.Name);
Console.WriteLine(">");
break;
case XmlNodeType.Text: // Exibir o texto em cada elemento.
Console.WriteLine(leitor.Value);
break;
case XmlNodeType.EndElement: // Mostrar a extremidade do elemento .
Console.Write("</" + leitor.Name);
Console.WriteLine(">");
break;
}
x++;
xml[x] = leitor.ToString().Replace("System.Xml.XmlTextReader", "");
XML += "\n" + xml[x];

}
Console.WriteLine("\n\n" + XML);

//fechamento do arquivo XML
leitor.Close();

Console.WriteLine("\n\nPress anny button to continue...");
Console.ReadKey();
}
catch(Exception e)
{
Console.WriteLine("Erro: " + e.Message);
Console.ReadKey();
}


Porém desta maneira ele só imprime os "\n". Dentro do while mandei imprimir o "xml[x]" e ele esta gravando direitinho, o problema está no "XML += "\n" + xml[x]" só imprime o "\n".
Alguém sabe como posso fazer? Please

Joel Rodrigues
   - 01 out 2015

Pesquise pelas classes do namespace System.Xml.Linq. A classe XDocument, por exemplo, lhe permite ler um documento XML e em conjunto com XAtribute e XElement tornam fácil a iteração sobre os elementos e atributos.