我需要通过URL创建一个新闻通讯。我接下来要做的是:
创建WebClient;
使用WebClient方法
下载数据以获取页面源
在字节数组中;
从源HTML字节获取字符串
排列并将其设置为新闻稿
内容。
但是我的道路有些问题。所有元素的源都是相对的(/img/welcome.png),但我需要绝对的(http://www.mysite.com/img/welcome.png)。
我该怎么做?
你好,亚历克斯。
最佳答案
解决此任务的一种可能方法是使用HtmlAgilityPack库。
一些示例(修复链接):
WebClient client = new WebClient();
byte[] requestHTML = client.DownloadData(sourceUrl);
string sourceHTML = new UTF8Encoding().GetString(requestHTML);
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(sourceHTML);
foreach (HtmlNode link in htmlDoc.DocumentNode.SelectNodes("//a[@href]"))
{
if (!string.IsNullOrEmpty(link.Attributes["href"].Value))
{
HtmlAttribute att = link.Attributes["href"];
att.Value = this.AbsoluteUrlByRelative(att.Value);
}
}