2
string imgurlhard = doc.DocumentNode.
    Element("html").
    Element("body").
    Elements("div").Single(el => el.Attributes["id"].Value == "main").
    Elements("div").Single(el => el.Attributes["id"].Value == "onlineIntegrator").
    Elements("div").Single(el => el.Attributes["id"].Value == "results").
    Element("img").Attributes["src"].Value; 

MessageBox.Show(imgurlhard);

这是要检索的网页的 URL:

http://integrals.wolfram.com/index.jsp?expr=sin(x)&random=false

谁能告诉我我做错了什么,因为我抓住了一个NullReferenceException

4

2 回答 2

1
var image = doc.DocumentNode
    .Descendants("img")
    .Where(i => i.Attributes["class"] != null && i.Attributes["class"].Value == "traditionalForm")
    .Select(i => i.Attributes["src"].Value)
    .FirstOrDefault();
于 2012-05-20T16:22:31.443 回答
0

我建议使用 HTMLagility。

string image = Doc.DocumentNode.SelectSingleNode("//div[@id='traditionalForm']//img['src'][1]").Attributes["src"].Value;

编辑

现在它应该可以工作了。

于 2012-05-20T19:17:55.337 回答