我的开源项目 AngleSharp:万米高空写出的 HTML 解析器
来源:dev.to — 2026-09-08
📋 概述
这是作者「我的开源项目」系列的首篇,主角是 .NET 生态的 AngleSharp——一个从零实现、符合 W3C 规范的 HTML/SVG/CSS/XML 解析库,让你在 C# 里拿到与浏览器一致的 querySelector 与 DOM。故事始于 2013 年作者带着打印的 HTML5 规范上飞机,落地时「快乐路径」已能跑通,随后数年被那 80% 的容错边界反复折磨。项目如今是 .NET Foundation 项目,核心包下载量超过 3.1 亿次,并孵化了 HtmlSanitizer、bUnit、PreMailer 等一大批生态库。
🔑 核心要点
- AngleSharp 诞生自一个天真想法——用 HTML/CSS/C# 做跨平台 GUI,而作者很快意识到这需要一个真正、从零手写的 HTML5 解析器,没有捷径可走。
- HTML5 规范庞大的真相是错误处理:「快乐路径」大约只占两成,其余是浏览器多年来对垃圾标记的宽容约定。
- 0.10 版本引入的模块化架构是转折点——用依赖注入与插件式配置把 JS、CSS 都做成可拼装的积木,这一形态至今仍是生态的样子。
- 它早已不是一个人的项目:核心包超 3.1 亿次下载,HtmlSanitizer 基于它清洗网络上大量 XSS 负载,bUnit 也用它做 Blazor 组件的语义比较。
💡 金句
AngleSharp exists so that nobody has to write `<div[^>]*>` ever again.
👍 0
👎 0
← 返回 dev.to 首页