none
Extraer un Elemento XML despues del parseo RRS feed

  • Pregunta

  • Hola que tal de nuevo preguntando en el foro parseo de la siguiente manera un XML el cual pongo en pantalla de un windows phone 7 de la siguiente manera:

     

      public class ListaNoticiasAppCircus

            {

                public string Imagen { get; set; }

                public string Fecha { get; set; }

                public string Titulo { get; set; }

                public string Descripcion { get; set; }

            }

     public void Conectar()

            {

                WebClient xmlNoticiasAppCircus = new WebClient();

                xmlNoticiasAppCircus.DownloadStringCompleted += new DownloadStringCompletedEventHandler(xmlNoticiasAppCircus_DownloadStringCompleted);

                xmlNoticiasAppCircus.DownloadStringAsync(new Uri("http://dev.congresouniversitariomovil.com/services/xml/noticias/appcircus"));

            }

     

    public void ParserOnline(string Contenido)

            {

                XElement xmlNoticiasAppCircus = XElement.Parse(Contenido);

     

                ListaNoticiasAppCircusMx.ItemsSource = from notas in xmlNoticiasAppCircus.Descendants("noticia")

                                                       select new ListaNoticiasAppCircus

                                                       {

                                                           Imagen = notas.Element("imagen").Value,

                                                           Descripcion = notas.Element("descripcion").Value,

                                                           Titulo = notas.Element("titulo").Value,

                                                           Fecha = notas.Element("fecha").Value,

                                                       };

            }

     

    y mi pregunta es como puedo guardar en una variable tipo string fuera de la lista que lleno por ejemplo guardar el campo fecha en una variable string? para usarla dentro de la aplicacion no se extraer datos de esa lista 

     

    miércoles, 3 de agosto de 2011 4:23

Respuestas

Todas las respuestas

  • Buenas!

    Ten encuenta que estás devolviendo una colección, por lo que no puedes guardar una fecha en un string....

    Para acceder a la lista, puedes hacer un cast de ListaNoticiasAppCircusMx.ItemsSource a List<ListaNoticiasAppCircus> y de esta forma podras acceder a cada elemento de la lista y de estos a cada propeidad.

    Un saludo!


    MCTS .NET Framework 3.5 Windows Forms Application Development
    MCTS .NET Framework 3.5 Windows Presentation Foundation
    Visita mi Blog en Geeks.ms
    Sigueme en Twitter
    • Propuesto como respuesta Pedro Hurtado miércoles, 3 de agosto de 2011 9:18
    miércoles, 3 de agosto de 2011 6:34
    Moderador
  • Me podrias mostrar como hacerlo con un poco de codigo? no domino muy bien el lenguaje gracias

     

    miércoles, 3 de agosto de 2011 17:39
  • Alguien me puede decir como implementar la sugerencia de arriba gracias
    miércoles, 3 de agosto de 2011 20:56
  • Hola Luis:

     

    ¿Que sugerencia la de Yosue "ListaNoticiasAppCircusMx.ItemsSource a List<ListaNoticiasAppCircus>",  u otra?

     

    Saludos,


    phurtado
    miércoles, 3 de agosto de 2011 21:18
  • Si esa porfavor si eres tan amable es que no tengo ni idea de como hacer ese cast que me sugiere Josue Yeray no domino el lenguaje muchas gracias
    miércoles, 3 de agosto de 2011 21:19
  • Hola Luis:

     

    Cuando tu ejecutas esto 

     

     ListaNoticiasAppCircusMx.ItemsSource = from notas in xmlNoticiasAppCircus.Descendants("noticia")
    
                              select new ListaNoticiasAppCircus
    
                              {
    
                                Imagen = notas.Element("imagen").Value,
    
                                Descripcion = notas.Element("descripcion").Value,
    
                                Titulo = notas.Element("titulo").Value,
    
                                Fecha = notas.Element("fecha").Value,
    
                              };
    
        }
    


    Lo que haces es que a un control definido en el xaml como ListaNoticiasAppCircusMx, le estás asignado un IEnumerable<ListaNoticiasAppCircus> de forma que el control ListaNoticiasAppCircusMx dibuja

    los items.

     

    Para poder hacer el cast a List<T> tendrias que haber hecho lo siguente:

     ListaNoticiasAppCircusMx.ItemsSource = (from notas in xmlNoticiasAppCircus.Descendants("noticia")
    
                              select new ListaNoticiasAppCircus
    
                              {
    
                                Imagen = notas.Element("imagen").Value,
    
                                Descripcion = notas.Element("descripcion").Value,
    
                                Titulo = notas.Element("titulo").Value,
    
                                Fecha = notas.Element("fecha").Value,
    
                              }).ToList();
    
        }
    


    o bien lo siguiente cuando haces el cast que es lo que te propone Josue

     

      Lista<ListaNoticiasAppCircus> Lista = (ListaNoticiasAppCircusMx.ItemsSource as IEnumerable<ListaNoticiasAppCircus>).ToList().

     

    En lista tienes todos los elementos que tiene ListaNoticiasAppCircusMx.ItemsSource


    Piensa que tienes un botón donde quieres lanzar un Mensaje con el Titulo y la Descripción del elemento tu no tienes acceso a ningún elemento de la lista

    por eso Josue te plante que realices un cast ya que ItemSource es de tipo object y tu necesitas un List<ListaNoticiasAppCircus>, te recomiendo que

    leas lo siguiente http://msdn.microsoft.com/en-us/library/cscsdfbt(v=vs.71).aspx. Esto es aplicable a cualquier tipo de App. Wp7,Wpf,Asp,Winforms,etc,

     

    Saludos,


    phurtado
    miércoles, 3 de agosto de 2011 21:36
  • Perdon ahora el problema es como accesar a algun elemento de la lista como busco por ejemplo el contenido de Fecha? para poder mostrarlo en algun lado?
    miércoles, 3 de agosto de 2011 21:53
  • Hola Luis!

    Mira el tercer capitulo de mi libro sobre Windows Phone y Silverlight (es gratuito)

    http://geeks.ms/blogs/jyeray/archive/2011/06/08/wp7-libro-por-cap-237-tulos-programar-en-silverlight-para-windows-phone-tercer-cap-237-tulo.aspx

    Explica como realizar el enlace a datos y trabajar con listas!

    Un saludo!


    MCTS .NET Framework 3.5 Windows Forms Application Development
    MCTS .NET Framework 3.5 Windows Presentation Foundation
    Visita mi Blog en Geeks.ms
    Sigueme en Twitter
    jueves, 4 de agosto de 2011 6:44
    Moderador
  • Gracias por la ayuda he conseguido implementarlo saludos a todos
    jueves, 4 de agosto de 2011 15:13