come rimuovere htmldocument.cs errore non trovato in html agility pack

c# html-agility-pack

Domanda

Risposta di classe:

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 
}

anche se faccio un nuovo progetto ed eseguo il codice è bloccato qui e ho aggiunto DLL troppo ancora mi sta dando questo errore per favore aiutami a rimuovere questo errore

Risposta accettata

questo errore è a volte dovuto alla versione di cui si sta utilizzando il pacchetto agilità Nuget html, aggiornare il proprio nuget nella galleria Visual Studio, quindi provare a installare il pacchetto agility html ed eseguire il progetto


Risposta popolare

WebResponse è una classe astratta che significa che è una parola riservata prima di tutto. Secondo: per utilizzare WebResponse una classe deve ereditare da WebResponse ie.

public class WR : WebResponse
{
    //Code
}

Anche. Il tuo codice attuale non ha nulla a che fare con Html Agility Pack. Se vuoi caricare l'html di una pagina web in un HtmlDocument, procedi nel seguente modo:

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);
}

Quindi per ottenere nodi nel documento Html devi usare xPath in questo modo:

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


Related

Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché