Fórum Duvida ler XML - Csharp #533165
30/09/2015
0
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.
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
Curtir tópico
+ 0
Responder
Posts
30/09/2015
Iago Melo
Estou tentando da seguinte forma:
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
try
{
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
Responder
Gostei + 0
01/10/2015
Joel Rodrigues
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.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)