Comment puis-je obtenir le texte d'un imbriqué

tag dans un fichier HTML externe à l'aide du pack d'agilité HTML?

c# html html-agility-pack xpath

Question

J'essaie d'obtenir du texte d'un site externe. Le texte que je cherche à obtenir est imbriqué dans une balise de paragraphe. La div a une valeur de classe

extrait de code html:

<div class="discription"><p>this is the text I want to grab</p></div>

code c # actuel:

public String getDiscription(string url)
{
    var web = new HtmlWeb();
    var doc = web.Load(url);


    var nodes = doc.DocumentNode.SelectNodes("//div[@class='discription']");

    if (nodes != null)
    {
        foreach (var node in nodes)
        {
            string Description = node.InnerHtml;
            return Description;
        }
    } else
      {
       string error = "could not find text";
       return error;
      }
}

ce que je ne comprends pas, c’est la syntaxe du xpath //div[@class='discription'] Je sais que c’est faux, que devrait être le xpath?

Réponse acceptée

utilisez //div[@class='discription']/p .

Panne:

//div                    - All div elements
[@class='discription']   - With a class attribute whose value is discription
/p                       - Select the child p elements


Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi