Usuario
Los datos del nivel de raíz no son válidos. Línea 1, posición 1.

Pregunta
-
Tengo ésto escrito
XElement x = XElement.Load("http://www.vigilia.com.es/v_I_g_I_l_I_a.rss");
var entradas = from entrada in x.Descendants("item")
orderby entrada.Element("pubDate").Value ascending
select new
{
Fecha =entrada.Element("pubDate").Value,
Título = entrada.Element("title").Value,
Link = entrada.Element("link").Value,
Categoría = entrada.Element("category").Value
};
listado.Data = entradas.ToString() ;
listado.DataBind(); // Listado es un xmldatasourceAl intentar enlazar a un data list o grid view muestra siguiente error "los datos del nivel de raiz no son válidos Linea 1 posición 1"
- Editado José Vicente López Larrea domingo, 6 de enero de 2013 14:30
Todas las respuestas
-
lo que esta fallando es el linq, el tema es que hasta que no haces el ToList() este no se ejecuta
no se como sera el xml, pero valida que estan correctos los tag que defines
intenta ir definiendo algo simple
var entradas = (from entrada in x.Descendants("item") select new { Fecha =entrada.Element("pubDate").Value, }).ToList();
pon un breskpoint y valida que funciona, si lo ahce ve agregando el resto de los campos
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
-
-
si usas
var entradas = x.Descendants("item")
y pasas esa linea de codigo para evaluar la variable "entradas" (por supuesto poniendo un breakpoint) puede validar que seelcciona nodos del tag item de forma correcta
Leandro Tuttini
Blog
Buenos Aires
Argentina -
Gracias Leandro, he procedido construyendo poco a poco y esto, finalmente, ha funcionado:
XElement x = XElement.Load("http://www.vigilia.com.es/v_I_g_I_l_I_a.rss");
var items = from entrada in x.Descendants("item")
orderby entrada.Element("pubDate").Value descending
select new
{
Fecha = entrada.Element("pubDate").Value,
Título = entrada.Element("title").Value,
Link = entrada.Element("link").Value,
Categoría = entrada.Element("category").Value
};
Grid.DataSource = items;
Grid.DataBind();Nota: Si bien no ordena por fechas sino como una cadena
Un saludo, agradecido