Recht seltsam! Wenn ich lade und ersetze mit einer leeren Zeichenfolge mit
var document = new HtmlDocument();
document.LoadHtml(data);
document.DocumentNode.OuterHtml.Replace("<tbody>", "");
Das funktioniert gut und <tbody>
wird entfernt.
Die gleiche Weise , wenn ich versuche zu ersetzen <br>
mit <br/>
verwenden,
document.DocumentNode.OuterHtml.Replace("<br>", "<br/>");
Es funktioniert nicht :(
auch versucht,
var brTags = document.DocumentNode.SelectNodes("//br");
if (brTags != null)
{
foreach (HtmlNode brTag in brTags)
{
brTag.OuterHtml = "<br/>";
// brTag.Name= "br/"; - > Also this one :(
}
}
Die replace () -Funktion von HTMLAgilityPack funktioniert nicht für selbstschließende Tags?
Sie müssen <br>
<br/>
manuell durch <br/>
ersetzen, wenn Sie den Knoten schließen müssen, weisen Sie die Bibliothek dazu an, dies zu tun, zum Beispiel:
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("<br/>");
doc.Save(Console.Out);
wird dies ausgeben:
<br>
und das
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("<br/>");
doc.OptionWriteEmptyNodes = true;
doc.Save(Console.Out);
wird dies ausgeben:
<br />