Cómo quitar el
¿Etiqueta en mi cadena html usando HtmlAgilityPack en C #?

c# c#-4.0 html-agility-pack

Pregunta

Tengo una cadena HTML y estoy usando HtmlAgilityPack para analizar la cadena html.

Esta es mi cadena 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>

Esta cadena HTML tiene una etiqueta <br> en dos lugares. Por lo tanto, quiero eliminar ambas etiquetas ...

¿Puedes ayudarme a eliminar todas las etiquetas de <br> en mi cadena html ...

Respuesta aceptada

Es tan fácil como:

  • cargando el fragmento HTML en un paquete de agilidad HtmlDocument
  • obteniendo todas las etiquetas <br /> usando la expresión xpath "//br"
  • Remove() las etiquetas obtenidas en el paso anterior utilizando el método Remove()
  • inspeccionar el resultado en la propiedad DocumentNode.OuterHtml

Aquí está en código:

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);

Respuesta popular

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


Related

Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow