Как удалить
тег в моей строке html с использованием HtmlAgilityPack в C #?

c# c#-4.0 html-agility-pack

Вопрос

У меня есть одна строка HTML, и я использую HtmlAgilityPack для разбора строки html.

Это моя строка html

<p class="Normal-P" style="direction: ltr; unicode-bidi: normal;"><span class="Normal-H">sample<br/></span> <span class="Normal-H">texting<br></span></p>

Эта HTML строка имеет <br> тег в двух places.So, я хочу , чтобы удалить обе метки ...

Вы можете мне помочь , чтобы удалить все <br> теги в моей HTML строки ...

Принятый ответ

Это так же просто:

  • загрузка фрагмента HTML в пакет Agility Pack HtmlDocument
  • получение всех тегов <br /> с использованием выражения xpath "//br"
  • удаление меток, полученных на предыдущем этапе, с использованием метода Remove()
  • проверка результата в свойстве DocumentNode.OuterHtml

Вот он в коде:

const string htmlFragment =
    @"<p class=""Normal-P"" style=""direction: ltr; unicode-bidi: normal;"">" +
    @"<span class=""Normal-H"">sample<br/></span>" +
    @"<span class=""Normal-H"">texting<br></span></p> ";

var document = new HtmlAgilityPack.HtmlDocument();
document.LoadHtml(htmlFragment);

foreach (var brTag in document.DocumentNode.SelectNodes("//br"))
    brTag.Remove();

Console.WriteLine(document.DocumentNode.OuterHtml);

Популярные ответы

string html = ...;
string html = Regex.Replace(html, "<br>", "", RegexOptions.Singleline);


Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow