C# 寻找带有CSS选择器的C Html解析器
现在我正在使用HtmlAgilityPack 但是很难通过Xpath进行选择 在Java中,我知道Jsoup。有没有类似的.net库 解析Html并使用CSS样式的选择器查找元素。尝试使用HtmlAgilityPack Fizzler是: 基于CSS选择器从节点树中选择项的.NET库。 默认实现基于HtmlAlityPack并从HTML文档中选择 来自项目网站的示例:C# 寻找带有CSS选择器的C Html解析器,c#,java,html,C#,Java,Html,现在我正在使用HtmlAgilityPack 但是很难通过Xpath进行选择 在Java中,我知道Jsoup。有没有类似的.net库 解析Html并使用CSS样式的选择器查找元素。尝试使用HtmlAgilityPack Fizzler是: 基于CSS选择器从节点树中选择项的.NET库。 默认实现基于HtmlAlityPack并从HTML文档中选择 来自项目网站的示例: // Load the document using HTMLAgilityPack as normal var html =
// Load the document using HTMLAgilityPack as normal
var html = new HtmlDocument();
html.LoadHtml(@"
<html>
<head></head>
<body>
<div>
<p class='content'>Fizzler</p>
<p>CSS Selector Engine</p></div>
</body>
</html>");
// Fizzler for HtmlAgilityPack is implemented as the
// QuerySelectorAll extension method on HtmlNode
var document = htmlDocument.DocumentNode;
// yields: [<p class="content">Fizzler</p>]
document.QuerySelectorAll(".content");
// yields: [<p class="content">Fizzler</p>,<p>CSS Selector Engine</p>]
document.QuerySelectorAll("p");
// yields empty sequence
document.QuerySelectorAll("body>p");
// yields [<p class="content">Fizzler</p>,<p>CSS Selector Engine</p>]
document.QuerySelectorAll("body p");
// yields [<p class="content">Fizzler</p>]
document.QuerySelectorAll("p:first-child");
你可以试试这个图书馆,我觉得它很有前途。 我自己没有尝试过,所以如果你尝试一下图书馆,也许你想和我们分享你的经验 图书馆:CsQuery 网站: 样本:
XPath有什么问题,你有一个例子吗?应该作为的副本关闭,而不是因为off-topicFIzzler自2009年7月以来没有更新,并且与CsQuery的100%CSS2和CSS3相比,只部分实现了CSS3。CsQuery也索引文档,比Fizzler+HAP快得多。我不推荐CsQuery,因为bugsI的数量太多。我不推荐这一个,因为它在继承方面有一些大问题。例如,您想要“.myclass[无论什么]”之父的第二个孩子……它将失败。我也不建议这样做。它有相当严重的错误,从未被修复。我已经在问题跟踪器中发布了两个错误,它错误地匹配了相邻的相同元素,并且文本中还包含注释
// get all elements that are first children within 'body' (e.g. excluding 'head')
var childSpans = dom["body"].Find(":first-child");