none
erro ler LINQ to XML em C# RRS feed

  • Pergunta

  • Pessoal boa Tarde,

    eu quero ler um xml usando o linq

    o xml é esse :

     

    <?xml version = "1.0" encoding = "utf-8"?>
    <testnode>
        <unidade202>
            <element1>Torre 2 - Aurora</element1>
            <element2>Unidade 202</element2>
            <element3>Etapa 1 - Cadastro Ok</element3>
            <element4>Hora Inicio - 21:45</element4>
            <element5>Imobiliaria - Abyara</element5>
            <element6>Corretor - Joao </element6>
            <element7>Gerente - Vanessa</element7>
            <element8>Cliente - Joaquin</element8>
        </unidade202>
        <unidade101>
            <element1>Torre 2 - Aurora</element1>
        </unidade101>
    </testnode>

     

    o codigo é esse:

     

    using System;
    using System.Collections.Generic;
    using System.Xml;
    using System.Linq;
    using System.Xml.Linq;
    using System.Text;




    namespace LINQProcessViewer
    {
        class XmlClass
        {
            XElement XML = XElement.Load("testexml.xml");
           
            public string LeituraXML(string unidade){

                var Consulta = from p in XML.Elements("testnode").Elements(unidade)
                               select p;

                return Consulta.ToString();
            }
        }
    }

     

    codigo do evento click em um botao:

     

    private void BTN_Carrega_Click(object sender, EventArgs e)
            {
                string retorno = "";
                XmlClass XML_Carrega = new XmlClass();

                retorno = XML_Carrega.LeituraXML("unidade202");

                label1.Text = retorno;
            }

     

    mensagem que aparece na label1:

            retorno    "System.Linq.Enumerable+WhereSelectEnumerableIterator`2[System.Xml.Linq.XElement,System.Xml.Linq.XElement]"

     

     

    o que devo fazer??

     

    Abraços

    terça-feira, 6 de dezembro de 2011 18:22

Respostas

  • Olá Dan,

    Veja se isso ajuda.

    class Program
    {
        static void Main(string[] args)
        {
            string xmlPath = @"C:\Users\Fernando\Desktop\alvo.xml";
    
            XElement file = (XElement.Load(xmlPath));
    
            XDocument doc = (new XDocument(new XDeclaration("1.0", null, null), file));
    
            var q1 = from elements in doc.Descendants("unidade202")
                    select elements.Element("element1");
            var value1 = q1.First().Value;
    
    
            var q2 = from elements in doc.Descendants("unidade101")
                        select elements;
            var value2 = q2.First().Value;
    
        }
    }
    

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    quarta-feira, 7 de dezembro de 2011 00:15
    Moderador

Todas as Respostas

  • Olá Dan,

    Veja se isso ajuda.

    class Program
    {
        static void Main(string[] args)
        {
            string xmlPath = @"C:\Users\Fernando\Desktop\alvo.xml";
    
            XElement file = (XElement.Load(xmlPath));
    
            XDocument doc = (new XDocument(new XDeclaration("1.0", null, null), file));
    
            var q1 = from elements in doc.Descendants("unidade202")
                    select elements.Element("element1");
            var value1 = q1.First().Value;
    
    
            var q2 = from elements in doc.Descendants("unidade101")
                        select elements;
            var value2 = q2.First().Value;
    
        }
    }
    

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    quarta-feira, 7 de dezembro de 2011 00:15
    Moderador
  • Amigo, como está sua questão, a resposta do colega resolveu seu problema ?

    se sim, marque como resposta por favor.

     

    obrigado.


    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Twitter @Olavooneto
    Se for útil marque como resposta e faça um Developer feliz :)
    quinta-feira, 8 de dezembro de 2011 11:26
    Moderador
  • Oi Fernando

     

    desculpa demora para ver tua resposta mais

    me da uma explicada

    como eu vou setar isso em uma string??

    abraço

    sexta-feira, 9 de dezembro de 2011 11:28
  • quando eu executo o metodo ele retorna

    nessa linha

    var value1 = q1.First().Value;

    Referência de objeto não definida para uma instância de um objeto.

     

    sexta-feira, 9 de dezembro de 2011 12:29
  • Fernando Venho so te dar um feedback

    deu certinho cara

    mtooo obrigado

    sexta-feira, 9 de dezembro de 2011 12:39