Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 寻找带有CSS选择器的C Html解析器_C#_Java_Html - Fatal编程技术网

C# 寻找带有CSS选择器的C 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 =

现在我正在使用HtmlAgilityPack

但是很难通过Xpath进行选择

在Java中,我知道Jsoup。有没有类似的.net库

解析Html并使用CSS样式的选择器查找元素。

尝试使用HtmlAgilityPack

Fizzler是:

基于CSS选择器从节点树中选择项的.NET库。 默认实现基于HtmlAlityPack并从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");