如何在C#中使用HtmlAgilityPack删除html字符串中的<br>标签?

Sar*_*nan 3 c# c#-4.0 html-agility-pack

我有一个HTML字符串,并且我正在使用HtmlAgilityPack解析html字符串。

这是我的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>
Run Code Online (Sandbox Code Playgroud)

这个HTML字符串<br>在两个地方都有标签。所以,我想删除两个标签...

您能帮我删除<br>HTML字符串中的所有标签吗?

Cri*_*scu 5

就像这样简单:

  • 将HTML片段加载到敏捷包中 HtmlDocument
  • <br />使用"//br"xpath表达式获取所有标签
  • 使用Remove()方法删除上一步获得的标签
  • 检查DocumentNode.OuterHtml属性中的结果

它在代码中:

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);
Run Code Online (Sandbox Code Playgroud)