c# - 如何在 C# 中使用 HtmlAgilityPack 删除我的 HTML 字符串中的 <br> 标记?

标签 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>

这个 HTML 字符串有 <br>标记在两个地方。我怎样才能删除它们?

最佳答案

就这么简单:

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

代码如下:

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

关于c# - 如何在 C# 中使用 HtmlAgilityPack 删除我的 HTML 字符串中的 <br> 标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13891322/

相关文章:

c# - Fiddler 使 HttpWebRequest/HttpClient 行为意外

javascript - 用于查找重复出现的多个非数字字符的正则表达式模式

c# - 美化 Windows 窗体应用程序

.NET WSDL 生成 xs :choice name the Choice Binding Enums

c# - 无法使用 HtmlAgilityPack C# ASP.NET 在 <ul> 中获取子类别

c# - 什么是 C# 的 system.datetime.Ticks() 的 python 等价物?

c# - 程序集:InternalsVisibleTo attribute?的 "AllInternalsVisible"参数是什么

c# - Ninject 绑定(bind)多个接口(interface)

c# - 使用 C# 解析 HTML

c# - 使用 HtmlAgilityPack 解析 HTML 页面以按类选择 Divs