【发布时间】:2011-10-12 11:41:44
【问题描述】:
是否有一个库可以让我编写以下类型的代码,它解析 CSS 并返回一个可查询的对象模型
string input = "p, span { font-family: arial; }";
var cssRules = new Parser().Parse(input);
var rule = cssRules.Find(new Selector("p")).First();
Assert.That(rule.Attribute("font-family").Value, Is.Equal.To("arial"));
我查看了dotless,下载了他们的代码并检查了一些相关的单元测试和固定装置。它看起来很有希望,但我不太清楚如何使用它来解析和查询纯 CSS。
【问题讨论】:
-
Assert.That(rule.Attribute("font-family").Value, Is.Equal.To("arial"));非常简洁。它来自哪个库? -
@Eric NUnit('constraint' model)
-
您还可以查看 Microsoft AJAX Minifier (ajaxmin.codeplex.com)。它包括用于构建 CSS 文件的完整内存表示的源代码。不支持查询,但它可能是问题解析部分的一个选项。另一个好处是,如果你将它连接到你的构建,它将验证 CSS 文件的语法并像任何其他编译器一样发出错误和警告。