none
Ler XML com DATASET RRS feed

  • Pergunta

  • Fala galera, blz? então, eu to tentando ler um arquivo XML porem nao tenho nen ideia de como pegar um atributo dentro de uma tag

    tipo assim:

    <cliente>
    <nome teste='15'>Marcus Vinicius</nome>
    </cliente>

     

    quero pegar o atributo teste dentro de nome! alguem sabe como faz?rs

     

    desde já agradeço!

     

     

    quinta-feira, 20 de outubro de 2011 18:40

Respostas

  • Quando você le um XML com atributos em um DataSet ele cria DataTable e vai relacionando com os nós, é meio dificil de trabalhar assim, Marcus acho que seria melhor você ler o seu XML usando LINQ to XML, é muito simples veja este exemplo:

    using System.Linq;
    using System.Xml.Linq;
    
    namespace ConsoleApplication1
    {
        public class InfoArquivo
        {
            class Program
            {
                static void Main(string[] args)
                {
    
                    string xml = @"
                                <xml>
                                    <cliente>
                                        <nome teste='15'>Marcus Vinicius</nome>
                                    </cliente>
                                    <cliente>
                                        <nome teste='78'>William Nunes</nome>
                                    </cliente>
                                    <cliente>
                                        <nome teste='169'>Maria Divina</nome>
                                    </cliente>
                                    <cliente>
                                        <nome teste='1'>Roberto Carlos</nome>
                                    </cliente>
                                </xml>";
    
                    //Atribuindo XML a um XDocument
                    //var xdoc = XDocument.Load(@"C:\Arquivo.xml");
    
                    //Usei o metodo Parse para transforma a variavel string em XML
                    var xdoc = XDocument.Parse(xml);
    
                    //Lendo xml e retornando uma lista de tipo anonimo
                    var resultado = (from x in xdoc.Descendants("nome")
                                     select new
                                     {
                                         Teste = x.Attribute("teste").Value,
                                         Cliente = x.Value
                                     }).ToList();
    
                }
            }
        }
    }


     Veja o resultado:

     
    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/



    quinta-feira, 20 de outubro de 2011 20:18