HTMLAgilityPack get innerText d'une balise td avec un attribut id

c# html html-agility-pack html-table nodes

Question

J'essaie de sélectionner le texte interne d'un td avec un attribut id avec le HTMLAgilityPack.

Code HTML:

<td id="header1">    5    </td>
<td id="header2">    8:39pm    </td>
<td id="header3">    8:58pm    </td>
...

Code:

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();

doc.LoadHtml(data);

var nodes = doc.DocumentNode.SelectNodes("//td[@id='header1']");

if (nodes != null)
{
    foreach (HtmlAgilityPack.HtmlNode node in nodes)
    {
        MessageBox.Show(node.InnerText);
    }
}

Je continue à avoir des nœuds nuls parce que je ne sélectionne pas correctement la balise td mais ne peux pas comprendre ce que j'ai mal fait

Modifier:

J'ai fait une erreur avec header1 et header2, mais il existe 5 balises td différentes avec les en-têtes 1 à 5.

Réponse populaire

Vous essayez de sélectionner header1 mais l'ID est header2 .

Vous pouvez également utiliser GetElementById directement:

var td = doc.GetElementbyId("header2");


Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow