我正在使用asp.net mvc应用程序。我正在输出一些html到一个通过另一个应用程序提供的视图。我希望能够获取此HTML并将CDN域附加到所有图像标记。我不知道该怎么做,但想要一些建议。
答案 0 :(得分:0)
一种简单的方法是在控制器中使用Html Agility Pack [link]。
例如:
using HtmlAgilityPack;
...
private string AppendCdnToImgSrc(string htmlString)
{
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(htmlString); // or htmlDoc.Load(htmlFileName) if a file
foreach(HtmlNode img in doc.DocumentElement.SelectNodes("//img[@src]")
{
HtmlAttribute attribute = img["src"];
attribute.Value = attribute.Value + ".cdn";
}
// return string output...
MemoryStream memStream = new MemoryStream();
htmlDoc.Save(memStream)
memStream.Seek(0, System.IO.SeekOrigin.Begin);
StreamReader reader = new StreamReader(memStream);
return reader.ReadToEnd();
}