cómo eliminar el error htmldocument.cs no encontrado en el paquete de agilidad html

c# html-agility-pack

Pregunta

Respuesta de clase:

public string WebResponse(string url) //class through which i'll have link of website and will parse some divs in method of this class
{
    string html = string.Empty;
    try
    {
        HtmlDocument doc = new HtmlDocument(); //when code comes here it gives an error htmldocument.cs not found,and open window for browsing source
        WebClient client = new WebClient(); // even if i put htmlWeb there it still look for HtmlWeb.cs not found
        html = client.DownloadString(url); //is this from some breakpoint error coz i set only one in method where i am parsing,
        doc.LoadHtml(html);
    }
    catch (Exception)
    {
        html = string.Empty;
    }

    return html; //please help me to remove this error using html agility pack with console application 
}

Incluso si hago un nuevo proyecto y ejecuto el código, se ha quedado atascado aquí y también he agregado DLL. Todavía me está dando este error, ayúdeme a eliminar este error.

Respuesta aceptada

ese error a veces se debe a que la versión de usted está usando el paquete de agilidad html de Nuget, actualice su nuget en la galería de estudio visual y luego intente instalar el paquete de agilidad html y ejecútelo en su proyecto


Respuesta popular

WebResponse es una clase abstracta, lo que significa que es una palabra reservada en primer lugar. Segundo - Para usar WebResponse, una clase tiene que heredar de WebResponse, es decir.

public class WR : WebResponse
{
    //Code
}

También. Su código actual no tiene nada que ver con Html Agility Pack. Si desea cargar el html de una página web en un HtmlDocument, haga lo siguiente:

HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();

try{
    var temp = new Uri(url);
    var request = (HttpWebRequest)WebRequest.Create(temp);
    request.Method = "GET";
    using (var response = (HttpWebResponse)request.GetResponse())
    {
        using (var stream = response.GetResponseStream())
        {
            htmlDoc.Load(stream, Encoding.GetEncoding("iso-8859-9"));
        }
    }
}catch(WebException ex){
    Console.WriteLine(ex.Message);
}

Luego, para obtener nodos en el documento HTML, debe usar xPath así:

HtmlNode node = htmlDoc.DocumentNode.SelectSingleNode("//body");
Console.WriteLine(node.InnerText);


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é