Будучи новичком в программировании, я читаю много примеров кода и пытаюсь все взломать, пытаясь понять, что работает. Я работаю с html agility pack, пытаясь удалить страницу новостей.
Проблема: один из тестируемых узлов не использует статическое значение, он использует время просмотра. Как я могу применить это к методу switch {case}. Я также открыт для любых предложений, если я далеко от базы во всем этом подходе.
Примечание также: мне не нужно захватывать этот узел, если есть способ пропустить его, который работает для меня.
Я решил использовать пример с переключателем,
var rows = doc.DocumentNode.SelectNodes(".//*[@id='weekdays']/tr");
foreach (var row in rows)
{
var cells = row.SelectNodes("./td");
string title = cells[0].InnerText;
var valueRow = cells[2];
switch (title)
{
case "Date":
HtmlNode date = valueRow.SelectSingleNode("//*[starts-with(@id, 'detail_row_seek')]/td");
Console.WriteLine("UPC=A:\t" + date.InnerText);
break;
case "":
string Time = valueRow.InnerText;
Console.WriteLine("Time:\t" + Time);
break;
case "News":
string Time = valueRow.InnerText;
Console.WriteLine("News:\t" + News);
break;
}
выдержка из HTML
<table id="weekdays" cellpadding="6" cellspacing="0" border="0" width="100%">
<tr>
<td class="thead" style="border-bottom: 1px solid #d1d1e1;font-weight:normal; text-align: center; width:8%; padding-left: 6px;">Date</td>
<td class="thead" style="border-bottom: 1px solid #d1d1e1;font-weight:normal; width:8%; text-align: center; white-space:nowrap"><a href="guestcp.php?do=customoptions" title="Time & Date Options"><img style="position:relative; vertical-align: bottom;" src="images/misc/clock_small.gif" title="Time & Date Options" alt="Time & Date Options" border="0" /></a><a href="guestcp.php?do=customoptions" title="Time & Date Options"><span id="ff_nowtime_clock">3:20pm</span></a></td>
<td class="thead" style="border-bottom: 1px solid #d1d1e1;font-weight:normal; text-align: center; width:8%;">News</td>
.........
<tr id="detail_row_seek_37876">
<td id="toprow_9" class="alt1 espace" rowspan="3" style="vertical-align: top; text-align: center;" nowrap="nowrap">
<span class="smallfont">
<div>Sat</div>
Apr 9
</span>
</td>
<td class="alt1 espace" style="text-align: center;" nowrap="nowrap">
<span class="smallfont">Day 3</span>
</td>
<td class="alt1 espace" style="text-align: center;"><span class="smallfont">EUR</span></td>
<td class="alt1 espace" style="padding-top: 2px" align="center">
<a name="chart=37876" style="position:absolute; margin-top: -10px;"></a><a name="details=37876" style="position:absolute; margin-top: -10px;"></a>
<div class="cal_imp_medium" title="Medium Impact Expected"></div></td>
<td class="alt1 espace">
<div class="smallfont" id="title_37876" style="padding-left: 11px;">ECOFIN Meetings</div>
</td>
Проблема в том, что так называемый столбец времени не является статическим, он фактически использует значение времени. Есть ли способ использовать подстановочный знак в кейсе или способ «содержать», чтобы обойти эту очень многословную проблему?