Come ottenere il testo tra due tag div con qualche attributo di classe con HTMLagility

c# dom html html-agility-pack selector

Domanda

Voglio ottenere del testo da due div html dal file HTML. Dopo alcune ricerche ho deciso di utilizzare HTMLAgility Pack per farlo. Ho scritto questo codice:

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

'risultato' è il mio contenuto del file. Ma ottengo questa eccezione: 'Espressione deve valutare su un set di nodi'

E questo è un po 'del contenuto del file mt:

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

Risposta popolare

hai provato ad usare XPath per esempio se volessi trovare un se un nodo è selezionato nel mio esempio, farei quanto segue

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

nel tuo caso dovresti fare quanto segue

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



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é