¡Bastante extraño! Cuando cargue y reemplace con una cadena vacía usando
var document = new HtmlDocument();
document.LoadHtml(data);
document.DocumentNode.OuterHtml.Replace("<tbody>", "");
Esto funciona bien y <tbody>
se eliminará.
De la misma manera cuando intento reemplazar <br>
con <br/>
usando,
document.DocumentNode.OuterHtml.Replace("<br>", "<br/>");
No funciona :(
también intentado,
var brTags = document.DocumentNode.SelectNodes("//br");
if (brTags != null)
{
foreach (HtmlNode brTag in brTags)
{
brTag.OuterHtml = "<br/>";
// brTag.Name= "br/"; - > Also this one :(
}
}
¿La función replace () de HTMLAgilityPack no funciona para las etiquetas de cierre automático?
No tiene que reemplazar <br>
por <br/>
manualmente, si necesita cerrar el nodo, simplemente indique a la biblioteca que lo haga, por ejemplo, esto:
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("<br/>");
doc.Save(Console.Out);
dará salida a esto:
<br>
y esto
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("<br/>");
doc.OptionWriteEmptyNodes = true;
doc.Save(Console.Out);
dará salida a esto:
<br />