在c#中重命名html文件的属性

时间:2012-08-27 07:31:48

标签: c# .net html-parsing

我在字符串变量中有HTML,其中包含一些<img>标记。我想将src属性替换为data-realsrc属性,并将loading.gif放入src属性。

例如,如果这是<img>个标签之一:

<img src="Hello.jpg" />

我想将其更改为:

<img data-realsrc="Hello.jpg" src="loading.gif" />

它应该应用于<img>内的所有HTML标记。

请注意我想在服务器端使用c#

怎么做?

最简单的方法是什么?什么是最快的方式?

1 个答案:

答案 0 :(得分:2)

使用HtmlAgilityPack

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(@"<img src=""Hello.jpg"" />");

foreach (var img in doc.DocumentNode.Descendants("img"))
{
    var realSource = img.Attributes["data-realsrc"];

    if (realSource != null)
        realSource.Value = img.Attributes["src"].Value;
    else
        img.Attributes.Add("data-realsrc", img.Attributes["src"].Value);

    img.Attributes["src"].Value = "loading.gif";
}