【发布时间】:2019-12-11 14:04:57
【问题描述】:
我没有经常使用 HtmlAgilityPack,我陷入了以下问题。
我正在检查浏览器是否支持 WebP,如果支持,我会在图像的 src 中附加一个新参数。
我有这个工作,但我不知道如何返回更新的 HTML,任何帮助将不胜感激。
public static HtmlString AppendWebPString(HtmlString htmlText)
{
bool browserSupportsWebP = BrowserSupportsWebPHelper.WebPSupported();
if (!browserSupportsWebP) return htmlText;
var h = new HtmlDocument();
h.LoadHtml(htmlText.ToString());
const string webP = "&quality=80&format=webp";
if (h.DocumentNode.SelectNodes("//img[@src]") == null) return htmlText;
string imgOuterHtml = string.Empty;
foreach (HtmlNode image in h.DocumentNode.SelectNodes("//img[@src]"))
{
var src = image.Attributes["src"].Value.Split('&');
image.SetAttributeValue("src", src[1] + string.Format(webP));
imgOuterHtml = image.OuterHtml;
}
//How do I return the updated html here
return new HtmlString(h.ParsedText);
}
【问题讨论】:
标签: c# .net html-agility-pack