Cómo raspar el archivo xml usando htmlagilitypack

asp.net c# html-agility-pack screen-scraping

Pregunta

Necesito raspar un archivo xml de http://feeds.feedburner.com/Torrentfreak por sus enlaces y descripción.

Utilicé este código:

    var webGet = new HtmlWeb();
                var document = webGet.Load("http://feeds.feedburner.com/TechCrunch");
    var TechCrunch = from info in document.DocumentNode.SelectNodes("//channel")
                                 from link in info.SelectNodes("//guid[@isPermaLink='false']")
                                 from content in info.SelectNodes("//description")
     select new
                                 {
                                     LinkURL = info.InnerText,
                                     Content = content.InnerText,

                                 };
lvLinks.DataSource = TechCrunch;
            lvLinks.DataBind(); 

He usado esto en el control de vista de lista para mostrar en la página asp.net. utilizando

<%# Eval("LinkURL") %>  -  <%# Eval("Text") %> 

Pero está mostrando un error.

El valor no puede ser nulo. Nombre del parámetro: fuente

Cuál es el problema ? ¿Y es posible raspar (recuperar) datos de nodos XML utilizando HtmlAgilityPack? Por favor sugerir gracias

Respuesta aceptada

Intente usar la biblioteca RSS en lugar de HtmlAgilityPack:

Aquí hay algunos enlaces que pueden ayudarte:


Respuesta popular

El error dice que el valor es nulo. Así que hay demasiadas posibilidades

select new
         {
                LinkURL = info.InnerText??string.Empty,
                Content = content.InnerText??string.Empty,

         };

o en el aspx. Creo que debería ser menos en la cadena como esta:

<%# Eval("LinkURL")??string.Empty %>+"-"+<%# Eval("Text")??string.Empty %> 



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué