我正在尝试在html页面中使用 id job_title1
提取div标签内的内容。我正在使用htmlagilitypack
来获取数据。这是我的代码
var obj = new HtmlWeb();
var document = obj.Load("url of website ");
var bold = document.DocumentNode.SelectNodes("//div[@class='job_title1']");
foreach (var i in document.DocumentNode.SelectNodes("//div[@class='job_title1']"))
{
Response.Write(i.InnerHtml);
}
当我试图运行此代码时,我在foreach中收到错误,说对象引用未设置为对象的实例。请帮我解决这个问题。
答案 0 :(得分:1)
您说“带有 id job_title1的div标签”,xpath不应该是:
document.DocumentNode.SelectNodes("//div[@id='job_title1']")
答案 1 :(得分:0)
像这样检查if null
:
var nodes = document.DocumentNode.SelectNodes("//div[@class='job_title1']");
if(nodes != null)
foreach (var i in document.DocumentNode.SelectNodes("//div[@class='job_title1']"
...
修改:使用\"
代替'
:
var obj = new HtmlWeb();
var document = obj.Load("url of website ");
var bold = document.DocumentNode.SelectNodes("//div[@class=\"job_title1\"]");
if(bold!= null)
foreach (var i in bold)
{
Response.Write(i.InnerHtml);
}