Accéder à innertext du 2nd TD du 2nd TR avec le pack d'agilité html?

c# html html-agility-pack

Question

je veux accéder en c #, texte intérieur du 2nd TD du 2nd TR, c'est-à-dire john paul et 30 avec le pack d'agilité html?

<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableClass">
    <form name="form1" action="goto.php" method="post">
        <tr>

            <td height="35" colspan="2" class="tdClass"
                style="padding-top:5px "><img
                src="./include/gif/grey-sub-header-ex-customer.gif"
                alt="details" width="162" height="20" /></td>
            <td valign="top" class="tdClass">&nbsp;</td>
        </tr>

        <tr class="trRow">
            <td width="190" class="tdDataRow">name:</td>
            <td class="tdDataName">john paul</td>
            <td class="whiteClass">&nbsp;</td>
        </tr>

        <tr class="trRow">
            <td width="190" class="tdDataRow">age:</td>
            <td class="tdDataName">30</td>
            <td class="whiteClass">&nbsp;</td>
        </tr>

Réponse populaire

Une fois que vous avez le HtmlDocument chargé (soit par le new HtmlWeb().Load("http://www.site.com") ou par le doc.Load(...) ), vous pouvez faire:

//Get 2nds <td> tags inside all tr class of that table
var tds = doc.DocumentNode.SelectNodes("//table[@class='tableClass']/tr[@class='trRow']/td[2]");
foreach (var td in tds) {
    Console.WriteLine(td.InnerText);
}

Modifier:
J'ai édité le code parce que les balises <tr> n'étaient pas à l'intérieur de <form> .



Related

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