如何在ASP.NET中阅读HtmlDocument?

时间:2012-02-12 18:31:39

标签: asp.net dom

我有一个aspx页面,有一个文本框可以写一个url和一个按钮来显示那个url中的一些图片。我可以将url的源代码加载到HtmlDocument.but我不知道如何从该HTML加载图片源代码,以显示我的页面中的图片。我怎么能这样做?提前致谢

1 个答案:

答案 0 :(得分:0)

您需要更清楚地提出问题,以便能够给出具体答案。

HTML是一种标记语言,这意味着只有格式标记,.html文档中没有嵌入图片。只有链接到图像是可以通过某个地址访问的网址。为了获得你需要的图像来获取该网址。

如果您的问题是如何从链接获取实际的html,请参阅following question。但是,既然你说你可以获得html,那么你需要使用Regex或HTML Agility Pack来解析它。

获取图片的代码:

byte[] imageData = DownloadData(Url); //DownloadData function from here
MemoryStream stream = new MemoryStream(imageData);
Image img = Image.FromStream(stream);
stream.Close();

对于方法DownloadData,您可以使用WebClientWebRequest来获取字节数组中的图像:

WebRequest req = WebRequest.Create("[URL here]");
WebResponse response = req.GetResponse();
Stream stream = response.GetResponseStream();
byte[] b;
using (BinaryReader br = new BinaryReader(stream))
{
    b = br.ReadBytes(size);
    br.Close();
}

return b;