我的程序需要将css文件解析为内存中的对象格式。关于如何做到这一点有什么建议吗?
ExCSS(支持 CSS2.1 和 CSS3):https://github.com/TylerBrinks/ExCSS。
这是代码项目文章的较新版本:http://www.codeproject.com/KB/recipes/CSSParser.aspx
稍微慢一点的搜索会出现博客文章“.NET 中的 CSS 解析器类”,其中嵌入了 GitHub 上的要点(以防博客消失)。
GoldParser 有一个 CSS 语法文件:
http://goldparser.org/grammars/files/css.zip
GoldParser 很容易包含在 C# 项目中,并生成真正的 LALR 解析器 - 而不是一些正则表达式 hack。
您尝试过 JsonFx 中的功能吗?它是用 C# 编写的,解析 CSS3 语法,并根据 MIT 风格许可证分发。