0

请帮我解决这个问题:

private void DownLoadCompleted(object sender, HtmlDocumentLoadCompleted e)
{
    var doc = new HtmlDocument();
    doc.LoadHtml("http://www.unnu.com/popular-music-videos");
    //var query = doc.DocumentNode.Descendants("img");
    MessageBox.Show("chegou");
    foreach (HtmlNode linkNode in doc.DocumentNode.SelectNodes("@//img[@src]"))
    {
        HtmlAttribute link = linkNode.Attributes[@"href"];
        HtmlNode imageNode = linkNode.SelectSingleNode(@"//.php?src");
        HtmlAttribute src = imageNode.Attributes[@"src"];

        string Link = link.Value;
        Uri imageUrl = new Uri(src.Value);
        MessageBox.Show("chegou");
    }
}

我需要使用您各自的网址获取所有图像和标题。我正在使用 Windows Phone 7.5。dll是一样的。

4

1 回答 1

0

doc.LoadHtml需要html,而不是 url。你在寻找这样的东西吗?

var web = new HtmlAgilityPack.HtmlWeb();
var doc = web.Load("http://www.unnu.com/popular-music-videos");

var imgs = doc.DocumentNode.SelectNodes(@"//img[@src]")
            .Select(img => new
            {
                Link = img.Attributes["src"].Value,
                Title = img.Attributes["alt"].Value
            })
            .ToList();

如果 HtmlAgilityPack 的 WP7 版本不支持HtmlWeb你也可以使用WebClient来获取 html 字符串,它可以作为参数doc.LoadHtml

于 2013-06-28T20:51:37.443 回答