Доступ к внутреннему тексту 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"> </td>
</tr>
<tr class="trRow">
<td width="190" class="tdDataRow">name:</td>
<td class="tdDataName">john paul</td>
<td class="whiteClass"> </td>
</tr>
<tr class="trRow">
<td width="190" class="tdDataRow">age:</td>
<td class="tdDataName">30</td>
<td class="whiteClass"> </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