我不确定这个标题是否适合我的问题。 我有html如下
<table id="searchResultsTable" class="">
<tbody>
<tr class="searchResultsItem even ">
<td class="searchResultsPriceValue">
<div> 26.500 TL</div></td>
<td class="searchResultsTitleValue ">
<a class="classifiedTitle" href="xxxx"> some text</a>
</tr>
<tr class="searchResultsItem odd ">
.
//same as "searchResultsItem even "
.
</tr>
</tbody>
</table>
我是htmlagility pack的新手。我成功获得了“searchResultsItem even”和“searchResultsItem odd”的价格值。
如果价格低于或高于某个值,我想获得href值。我可以获得href,但所有时间都是“searchResultsItem even”。我想得到href,如果偶数的价格值与我的条件匹配均匀,如果奇数符合我的条件,我想得到奇数。
下面是我的代码
foreach (HtmlNode node1 in doc.DocumentNode.SelectNodes("//table[@id='searchResultsTable']"))
{
foreach (HtmlNode node2 in node.SelectNodes("//td[@class='searchResultsPriceValue']"))
{
string price = node2.InnerText.ToString();
price = price.Trim().Replace(".", String.Empty);
price = price.Replace("TL", String.Empty);
if (Convert.ToInt32(price) < 28000)
{
HtmlNode node3 = node.SelectSingle(".//a[@class='classifiedTitle']");
listBox1.Items.Add(node3.Attributes["href"].Value);
}
}
}
由于
答案 0 :(得分:0)
获取tr
类名作为属性值。首先遍历行,然后是td
s。
foreach (HtmlNode node1 in doc.DocumentNode.SelectNodes("//table[@id='searchResultsTable']"))
{
foreach (HtmlNode tr in table.SelectNodes("//tr"))
{
var @class = tr.GetAttributeValue("class", string.Empty);
switch (@class) {
// rest of your parsing
}
}
}