Установите img sr c с Html Agility Pack - PullRequest
0 голосов
/ 06 марта 2020

У меня есть строка ввода html. Он содержит изображения, и я хочу изменить свойство sr c на img

. Пока мой код выглядит следующим образом:

       if (htmlStr.Contains("img"))
        {
            var html = new HtmlDocument();
            html.LoadHtml(htmlStr);

            var images = html.DocumentNode.SelectNodes("//img");

            if (images != null && images.Count > 0)
            {
                for (int i = 0; i < images.Count; i++)
                {
                    string imageSrc = images[i].Attributes["src"].Value;
                    string newSrc = "MyNewValue";
                    images[i].SetAttributeValue("src", newSrc);
                }
            }

            //htmlStr=  ???
        }
        return htmlStr;

Что мне не хватает, так это обновить htmlStr. Я возвращаю значение newSr c для каждого изображения.

1 Ответ

1 голос
/ 06 марта 2020

Насколько я могу судить, у вас есть два варианта:

// Will give you a raw string.
// Not ideal if you are planning to
// send this over the network, or save as a file.
var updatedStr = html.DocumentNode.OuterHtml;

// Will let you write to any stream.
// Here, I'm just writing to a string builder as an example.
var sb = new StringBuilder();
using (var writer = new StringWriter(sb))
{
    html.Save(writer);
}

// These two methods generate the same result, though.
Debug.Assert(string.Equals(updatedStr, sb.ToString()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...