Come eseguire il ciclo di tutti i nodi senza specificare i nomi dei nodi

c# html html-agility-pack

Domanda

Sto cercando di ottenere tutto il innerText da tutto il nodo htmlDocument da qualsiasi documento html.

Ho fatto delle ricerche ma non ho trovato una soluzione su come potrò passare attraverso tutti i nodi genitore e figlio nell'intero documento senza dover specificare il nome del nodo.

Voglio farlo perché lavorerò con diversi documenti html, quindi specificare il nome nodo non sarà un'opzione per me a questo punto.

Risposta popolare

L'ho capito ora ... omg era così semplice iniziare come non sapevo come usare queste funzioni

HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.Load(MyIO.bingPathToAppDir("Test data/testHTML.html"));
HtmlNode j = htmlDoc.DocumentNode;
foreach (HtmlNode node in j.ChildNodes)
{
    checkNode(node);
}

static void checkNode(HtmlNode node)
{
    foreach (HtmlNode n in node.ChildNodes)
    {
        if (n.HasChildNodes)
        {
            checkNode(n);
        }
        else
        {
            Console.WriteLine(n.InnerText);
        }
    }
}


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é