gpt4 book ai didi

c# - 是否有可以在 C# 中使用的类似 jQuery 的 CSS/HTML 选择器?

转载 作者:IT王子 更新时间:2023-10-29 03:26:36 26 4
gpt4 key购买 nike

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

目前,我正在使用正则表达式解析一些 html 字符串,并认为在 jQuery 中使用类似 css 选择器的东西来匹配我想要的元素会更好。

最佳答案

2012 年 10 月 18 日更新

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

原始答案

老问题,新答案。我最近发布了 CsQuery 的 1.1 版,这是一个用 C# 编写的用于 .NET 4 的 jQuery 端口,我已经为此工作了大约一年。也在NuGet作为“CsQuery”

当前版本实现了所有 CSS2 和 CSS3 选择器、所有 jQuery 扩展和所有 jQuery DOM 操作方法。它有广泛的测试范围,包括来自 jQuery 和 sizzle(jQuery CSS 选择引擎)的所有测试。我还包括了一些性能测试,用于与 Fizzler 进行直接比较;在大多数情况下,CsQuery 的性能明显优于它。异常(exception)实际上是首先加载 HTML,而 Fizzler 速度更快;我认为这是因为 fizzler 没有建立索引。不过,您会在第一次选择后回到那个时间。

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

从 HTML 字符串创建

CQ dom = CQ.Create(htmlString);

从网络同步加载

CQ dom = CQ.CreateFromUrl("http://www.jquery.com");

异步加载(非阻塞)

CQ.CreateFromUrlAsync("http://www.jquery.com", responseSuccess => {
Dom = response.Dom;
}, responseFail => {
..
});

运行选择器并执行 jQuery 操作

var childSpans = dom["div > span"];
childSpans.AddClass("myclass");

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

输出:

string html = dom.Render();

关于c# - 是否有可以在 C# 中使用的类似 jQuery 的 CSS/HTML 选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1580635/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com