У меня проблема с перебором всех строк таблицы и извлечением данных из каждой строки.
У меня есть следующая таблица:
<table class="table tbl_author">
<tbody>
<tr class="tra funded">
<td class="item_id">485xx</td>
<td class="max-price" data-hint="outbid by smaller">85$</td>
</tr>
<tr class="tra funded">
<td class="item_id">485xx</td>
<td class="max-price" data-hint="outbid by smaller">85$</td>
</tr>
<tr class="tra funded">
<td class="item_id">485xx</td>
<td class="max-price" data-hint="outbid by smaller">85$</td>
</tr>
</tbody>
</table>
Я пытался выбрать таблицу и повторять под каждым tr и каждым td внутри tr, но я не получил результатов.
var rows = doc.DocumentNode.SelectNodes("//*[@class='table tbl_author']//tr")
foreach(var row in rows)
{
var itemId = row.SelectSingleNode("//*[@class='item_id']");
var maxPrice = row.SelectSingleNode("//*[@class='max_price']");
}
Я получил результат, используя для l oop, но я думаю, что это не лучший подход
for (int i = 0; i < 100; i++) {
var itemId= doc.DocumentNode.SelectSingleNode($ "/html[1]/body[1]/div[2]/table[1]/tbody[1]/tr[{i}]/td[2]");
var maxPrice= doc.DocumentNode.SelectSingleNode($ "/html[1]/body[1]/div[2]/table[1]/tbody[1]/tr[{i}]/td[3]");
if (itemId!= null && maxPrice!= null) {
var ttr = bideBy.GetAttributeValue("data-hint", "");
if (!string.IsNullOrEmpty(ttr)) {
Console.WriteLine(itemId.InnerText + " " + ttr);
}
}
}