come sostituire <br> tag con <br/> tag usando HtmlAgilityPack?

c# html-agility-pack

Domanda

Piuttosto strano! Quando carico e sostituisco con una stringa vuota usando

 var document = new HtmlDocument();
    document.LoadHtml(data); 
    document.DocumentNode.OuterHtml.Replace("<tbody>", "");

Questo funziona bene e <tbody> sarà rimosso.

Allo stesso modo quando provo a sostituire <br> con <br/> utilizzando,

 var document = new HtmlDocument();
    document.LoadHtml(data); 
    document.DocumentNode.OuterHtml.Replace("<tbody>", "");

Non funziona :(

anche provato,

 var document = new HtmlDocument();
    document.LoadHtml(data); 
    document.DocumentNode.OuterHtml.Replace("<tbody>", "");

La funzione replace () di HTMLAgilityPack non funziona per i tag di chiusura automatica?

Risposta accettata

document.OptionWriteEmptyNodes = true;

Farà il trucco per te!


Risposta popolare

Non devi sostituire manualmente <br> per <br/> manualmente, se hai bisogno di chiudere il nodo, basta istruire la libreria per farlo, ad esempio:

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("<br/>");
doc.Save(Console.Out);

produrrà questo:

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("<br/>");
doc.Save(Console.Out);

e questo

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("<br/>");
doc.Save(Console.Out);

produrrà questo:

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("<br/>");
doc.Save(Console.Out);



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché