Duvida ler XML - Csharp
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
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
Clique aqui para fazer login e interagir na Comunidade :)