Html Agility pack ASP.NET C# 仅选择节点 2 级打印 foreach 中的第一个值
Html Agility pack ASP.NET C# Selecting Nodes 2 levels only Prints 1st value in foreach
嘿,我正在 ASP.NET 开发网络爬虫,并使用 HTML Agility Pack 进行 HTML 解析。
每当我在 table 中循环 Foreach 并想要 SELECT 并获取迭代节点的值时,它只会重复给我第一个值。
这是我的代码
public void Olxrun(字符串查询)
{
字符串 url = "http://olx.com.pk/all-results/?q=" + 查询 + "&page=1" ;
var webGet = new HtmlWeb();
var 文档 = webGet.Load(url);
尝试
{
var lnks = document.DocumentNode.SelectNodes("//*[包含(@class,'offer onclick ')]");
foreach(lnks中的HtmlNode节点)
{
Label1.Text += "
" + node.SelectSingleNode("//*[包含(@class,'price x-large margintop10')]").InnerText;
}
} 赶上(例外例子)
{
Label1.Text += "Error";
}
}
尝试使用 .//*[contains(@class,'price x-large margintop10')]
//
总是从根元素开始。
.//
将从当前节点开始。
嘿,我正在 ASP.NET 开发网络爬虫,并使用 HTML Agility Pack 进行 HTML 解析。 每当我在 table 中循环 Foreach 并想要 SELECT 并获取迭代节点的值时,它只会重复给我第一个值。
这是我的代码
public void Olxrun(字符串查询) { 字符串 url = "http://olx.com.pk/all-results/?q=" + 查询 + "&page=1" ; var webGet = new HtmlWeb(); var 文档 = webGet.Load(url); 尝试 { var lnks = document.DocumentNode.SelectNodes("//*[包含(@class,'offer onclick ')]"); foreach(lnks中的HtmlNode节点) { Label1.Text += "
" + node.SelectSingleNode("//*[包含(@class,'price x-large margintop10')]").InnerText; } } 赶上(例外例子) { Label1.Text += "Error"; } }
尝试使用 .//*[contains(@class,'price x-large margintop10')]
//
总是从根元素开始。
.//
将从当前节点开始。