如何使用HtmlAgilityPack将<br>标签替换为<br/>标签?

use*_*272 6 c# html-agility-pack

很奇怪!当我加载和更换 使用空字符串

 var document = new HtmlDocument();
    document.LoadHtml(data); 
    document.DocumentNode.OuterHtml.Replace("<tbody>", "");
Run Code Online (Sandbox Code Playgroud)

这工作正常,<tbody>将被删除.

当我尝试使用替换<br><br/>,

document.DocumentNode.OuterHtml.Replace("<br>", "<br/>");
Run Code Online (Sandbox Code Playgroud)

这是行不通的 :(

也尝试过,

 var brTags = document.DocumentNode.SelectNodes("//br");
            if (brTags != null)
            {
                foreach (HtmlNode brTag in brTags)
                {
                    brTag.OuterHtml = "<br/>";
                    // brTag.Name= "br/"; - > Also this one :(
                }
            }
Run Code Online (Sandbox Code Playgroud)

HTMLAgilityPack的replace()函数不适用于自闭标签?

rag*_*gmn 10

document.OptionWriteEmptyNodes = true;
Run Code Online (Sandbox Code Playgroud)

会为你做的伎俩!


Sim*_*ier 5

您不必更换<br><br/>手动,如果你需要关闭节点,只是指示库这样做,比如这个:

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("<br/>");
doc.Save(Console.Out);
Run Code Online (Sandbox Code Playgroud)

将输出:

<br>
Run Code Online (Sandbox Code Playgroud)

还有这个

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("<br/>");
doc.OptionWriteEmptyNodes = true;
doc.Save(Console.Out);
Run Code Online (Sandbox Code Playgroud)

将输出:

<br />
Run Code Online (Sandbox Code Playgroud)