Come rimuovere il
tag nella mia stringa html utilizzando HtmlAgilityPack in C #?

c# c#-4.0 html-agility-pack

Domanda

Ho una stringa HTML e sto usando HtmlAgilityPack per analizzare la stringa html.

Questa è la mia stringa 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>

Questa stringa HTML ha il tag <br> in due posizioni. Quindi, voglio rimuovere entrambi i tag ...

puoi aiutarmi a rimuovere tutti i tag <br> nella mia stringa html ...

Risposta accettata

È facile come:

  • caricamento del frammento HTML in un HtmlDocument Agility Pack
  • ottenere tutti i tag <br /> usando l'espressione "//br" xpath
  • rimuovendo i tag ottenuti nel passaggio precedente utilizzando il metodo Remove()
  • ispezionare il risultato nella proprietà DocumentNode.OuterHtml

Eccolo nel codice:

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

Risposta popolare

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


Related

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é