Error al intentar cargar html con htmlagiltypack

.net c# html-agility-pack

Pregunta

Estoy tratando de ejecutar este código

string path = "http://warisons.rssing.com/chan1729325/all_p43.html";
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.LoadHtml(path);
var div = htmlDoc.DocumentNode.Descendants("div");
foreach (var x in div)
{
    Console.WriteLine(x.Attributes["class"].Value);
}

cuando htmlDoc.LoadHtml(path); este código en htmlDoc.LoadHtml(path); Tengo este error

Localización de la fuente para 'd: \ SVN_CHECKOUT \ htmlagilitypack \ Trunk \ HtmlAgilityPack \ HtmlDocument.cs'. Suma de comprobación: MD5 {4e 14 d3 b d5 30 6e 2c bf 84 ab 8a 96 82 4a 8f} El archivo 'd: \ SVN_CHECKOUT \ htmlagilitypack \ Trunk \ HtmlAgilityPack \ HtmlDocument.cs' no existe. Buscando en los documentos de script 'd: \ SVN_CHECKOUT \ htmlagilitypack \ Trunk \ HtmlAgilityPack \ HtmlDocument.cs' ... Buscando en los proyectos para 'd: \ SVN_CHECKOUT \ htmlagilitypack \ Trunk \ HtmlAgilityPack \ HtmlDocument.cs'. El archivo no se encontró en un proyecto. Buscando en el directorio 'C: \ Archivos de programa (x86) \ Microsoft Visual Studio 12.0 \ VC \ crt \ src \' ... Buscando en el directorio 'C: \ Archivos de programa (x86) \ Microsoft Visual Studio 12.0 \ VC \ crt \ src \ vccorlib \ '... Buscando en el directorio' C: \ Archivos de programa (x86) \ Microsoft Visual Studio 12.0 \ VC \ atlmfc \ src \ mfc \ '... Buscando en el directorio' C: \ Archivos de programa (x86) \ Microsoft Visual Studio 12.0 \ VC \ atlmfc \ src \ atl \ '... Buscando en el directorio' C: \ Archivos de programa (x86) \ Microsoft Visual Studio 12.0 \ VC \ atlmfc \ include '... La configuración de los archivos de origen de depuración para la solución activa, indique que el depurador no le pedirá al usuario que busque el archivo: d: \ SVN_CHECKOUT \ htmlagilitypack \ Trunk \ HtmlAgilityPack \ HtmlDocument.cs. El depurador no pudo localizar el archivo fuente 'd: \ SVN_CHECKOUT \ htmlagilitypack \ Trunk \ HtmlAgilityPack \ HtmlDocument.cs'.

Respuesta aceptada

Su intento de cargar un documento html desde URI es incorrecto.

Methof HtmlDocument.LoadHtml carga html de la cadena provista, por lo que su argumento es el texto html en sí, no el URI.

Para cargar html desde el URI proporcionado necesitas algo como:

string path = "http://warisons.rssing.com/chan1729325/all_p43.html";
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlWeb().Load(path);

También tenga en cuenta que puede obtener NullReferenceException aquí:

x.Attributes["class"].Value

ya que no está verificando si hay class atributo de class ( x.Attributes["class"] != null ) antes de acceder a su valor.



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é