2011-09-11 14 views
13

私はC#アプリケーションでhtmlの要素を単純に指定できる必要があります。私はLinqをSqlに使うだけですが、これは設定可能/文字列にシリアライズ可能である必要があります。私はもちろんXPathを使用することができますが、この時点でSizzleのようなものはほとんどの人にとってははるかに自然です。C#にSizzle/jQueryセレクタの実装がありますか?

シズルセレクタの実装が.Netに存在するかどうかは誰でも知っていますか?

+6

[CsQuery](http://github.com/jamietre/CsQuery)は非常に有望であるようです。私はまだそれを使用していない、ちょうどそれについて読む - この質問を閲覧した後。閉じてはいけません。 – robert4

答えて

18

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"); 
関連する問題