首页 新闻 会员 周边

.NET: AngleSharp HtmlParser 的 html 验证问题

0
悬赏园豆:30 [已解决问题] 解决于 2023-07-16 09:29

如何让 HtmlParser 在验证 html 时忽略未编码的 &

比如下面的代码

using AngleSharp.Html.Dom.Events;
using AngleSharp.Html.Parser;

HtmlParser parser = new(new HtmlParserOptions { IsEmbedded = true });
var errorEvents = new List<HtmlErrorEvent>();
parser.Error += (_, e) => errorEvents.Add((HtmlErrorEvent)e);

parser.ParseDocument("test&1");

foreach (var e in errorEvents)
{
    Console.WriteLine(e.Message);
}

会输出验证错误

Character reference is not terminated by a semicolon.
dudu的主页 dudu | 高人七级 | 园豆:30943
提问于:2023-07-16 09:09
< >
分享
最佳答案
0

通过 IsNotConsumingCharacterReferences 选项可以解决

HtmlParser parser = new(new HtmlParserOptions { IsEmbedded = true, IsNotConsumingCharacterReferences = true });
dudu | 高人七级 |园豆:30943 | 2023-07-16 09:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册