在C#中是否有Sizzle/jQuery选择器实现?

Geo*_*uer 13 .net html xml css-selectors sizzle

我需要能够在我的C#应用​​程序中简单地指定html中的元素.我只是将Linq用于Sql,但这需要可配置/可序列化为字符串.我当然可以使用XPath,但在这一点上像Sizzle这样的东西对大多数人来说更加自然.

任何人都知道.Net中是否存在sizzle选择器实现?

ale*_*exn 19

Yepp,Fizzler.它建立在HtmlAgilityPack之上并且运行良好,即使作者说它是测试版.我们在一个重大项目的生产中使用它.文档中的示例:

// 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");
Run Code Online (Sandbox Code Playgroud)