Доступ к внутреннему тексту 2-го ТД 2-го ТД с помощью html пакета agility?

Я хочу получить доступ в C#, внутренний текст 2-го TD 2-го TD, то есть Джон Пол и 30 с 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>

2 ответа

Когда у вас есть HtmlDocument загружен (либо new HtmlWeb().Load("http://www.site.com") или doc.Load(...)) ты можешь сделать:

//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);
}

Редактировать:
Я редактировал код, потому что <tr> теги не были внутри <form>,

Добавить атрибут runat="server" к тд вы хотите получить доступ

        <td id="tdname" runat="server" class="tdDataName">john paul</td>

тогда вы можете напрямую получить доступ к внутреннему тексту как

 string name=tdname.InnerText;      //where tdname is the id of td
Другие вопросы по тегам