首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有可以在C#中使用的类似jQuery的CSS/HTML选择器?

有没有可以在C#中使用的类似jQuery的CSS/HTML选择器?
EN

Stack Overflow用户
提问于 2009-10-16 21:51:58
回答 5查看 26.2K关注 0票数 66

我想知道是否有一个类似jQuery的css选择器可以在C#中使用。

目前,我正在使用正则表达式解析一些html字符串,我想如果有像jQuery中的css选择器这样的东西来匹配我想要的元素会好得多。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-11-19 22:53:38

你绝对应该看看@jamietre的CsQuery。看看他对这个问题的回答!

FizzlerSharp-Query提供了类似的功能,但这两个项目似乎被抛弃了。

票数 72
EN

Stack Overflow用户

发布于 2012-06-19 04:51:14

更新10/18/2012

CsQuery现在是1.3版。最新版本合并了validator.nu HTML5解析器的C#端口。因此,CsQuery现在将生成一个使用HTML5规范进行无效标记处理的DOM,并且完全符合标准。

原始答案

老问题但有新答案。我最近发布了CsQuery的1.1版本,这是一个用C#编写的用于.NET 4的jQuery端口,我已经研究了大约一年。在NuGet上也是"CsQuery“

当前版本实现了所有CSS2和CSS3选择器、所有jQuery扩展和所有jQuery DOM操作方法。它有广泛的测试覆盖面,包括来自jQuery和sizzle ( jQuery CSS选择引擎)的所有测试。我还提供了一些性能测试,用于与Fizzler进行直接比较;在大多数情况下,CsQuery的性能明显优于Fizzler。例外情况实际上是在Fizzler更快的地方加载HTML;我认为这是因为fizzler不会构建索引。不过,在第一次选择之后,您就可以恢复到原来的时间。

github站点上有文档,但在基本级别上它是这样工作的:

从HTML字符串创建

代码语言:javascript
运行
复制
CQ dom = CQ.Create(htmlString);

从web同步加载

代码语言:javascript
运行
复制
CQ dom = CQ.CreateFromUrl("http://www.jquery.com");

异步加载(非阻塞)

代码语言:javascript
运行
复制
CQ.CreateFromUrlAsync("http://www.jquery.com", responseSuccess => {
    Dom = response.Dom;        
}, responseFail => {
    ..
});

运行选择器&执行jQuery操作

代码语言:javascript
运行
复制
var childSpans = dom["div > span"];
childSpans.AddClass("myclass");

CQ对象类似于thejQuery对象。上面使用的属性索引器是默认方法(如$(...)

输出:

代码语言:javascript
运行
复制
string html = dom.Render();
票数 80
EN

Stack Overflow用户

发布于 2009-10-16 21:56:34

与jQuery不太一样,但这可能会有帮助:http://www.codeplex.com/htmlagilitypack

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1580635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档