c # HtmlAgilityPack pour le tableau de nœuds

arrays c# html html-agility-pack

Question

J'utilise le pack d'agilité HTML et après avoir obtenu un tableau de nœuds:

HtmlNode[] nodes = document.DocumentNode.SelectNodes("//tbody[@class='table']").ToArray();

Maintenant, je veux exécuter une boucle pour chaque nœuds [i]. J'ai essayé ceci:

 for (int i = 0; i < 1; i++)
            {

                if (t == null)
                    t = new Model.Track();

                 HtmlNode[] itemText = nodes[i].SelectNodes("//td[@class='artist']").ToArray();

                for (int x = 0; x < itemText.Length; x++)
                { //doing something      }

le problème est que le tableau itemtext ne se concentre pas sur les nœuds [i]. mais fait apparaître un tableau de tous les "(// td [@ class = 'artiste']") du document html. Aidez-moi?

Réponse acceptée

Utiliser //td[@class='artist'] va chercher toutes les colonnes avec la classe artist de votre document.DocumentNode .

L'utilisation de .//td[@class='artist'] (remarquez le point au début) permet d'extraire toutes les colonnes avec la classe artist du noeud sélectionné, qui dans votre cas sont les nodes[i] .



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