Comment obtenir du texte entre deux balises div avec un attribut de classe avec HTMLagility

c# dom html html-agility-pack selector

Question

Je veux obtenir du texte de deux div HTML à partir d'un fichier HTML. Après quelques recherches, j'ai décidé d'utiliser HTMLAgility Pack pour cela. J'ai écrit ce code:

    HtmlDocument doc = new HtmlDocument();
    doc.LoadHtml(result);
    HtmlNode node = doc.DocumentNode.SelectSingleNode("//*div[@class='item']"); 
    string value = node.InnerText; 

'résultat' est mon contenu du fichier. Mais j'obtiens cette exception: "L'expression doit évaluer un ensemble de nœuds"

Et voici du contenu du fichier mt:

    HtmlDocument doc = new HtmlDocument();
    doc.LoadHtml(result);
    HtmlNode node = doc.DocumentNode.SelectSingleNode("//*div[@class='item']"); 
    string value = node.InnerText; 

Réponse populaire

avez-vous essayé d'utiliser XPath par exemple si je souhaitais trouver un noeud sélectionné dans mon exemple, je ferais ce qui suit

string xpath = null;
XmlNode configNode = configDom.DocumentElement;
// collect selected nodes in node list
XmlNodeList nodeList =
configNode.SelectNodes(@"//*[@status='checked']");

dans votre cas, vous feriez ce qui suit

string xpath = null;
XmlNode configNode = configDom.DocumentElement;
// collect selected nodes in node list
XmlNodeList nodeList =
configNode.SelectNodes(@"//*[@status='checked']");



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