Mise à jour 10/18/2012
CsQuery est maintenant dans la version 1.3. La dernière version intègre un C# port du validateur.nu HTML5 analyseur. Comme un résultat CsQuery va désormais produire un DOM qui utilise le HTML5 spec pour les invalides de balisage de la manipulation et est entièrement conforme aux normes.
Réponse Originale À Cette Question
Vieille question, mais une nouvelle réponse. J'ai récemment publié la version 1.1 de CsQuery, jQuery port .NET 4 écrit en C# que j'ai travaillé pendant environ un an. Également sur NuGet "CsQuery"
La version actuelle met en œuvre tous les CSS2 & sélecteurs CSS3, toutes les extensions jQuery, et tous jQuery DOM méthodes de manipulation. Il a étendu la couverture de test, y compris tous les tests de jQuery et de grésillement (le jQuery, CSS sélection du moteur). J'ai également inclus quelques tests de performance pour les comparaisons directes avec Fizzler, pour la plupart, CsQuery considérablement supérieure à celle de. L'exception est le chargement du HTML dans le premier endroit où Fizzler est plus rapide; je suppose que c'est parce que fizzler de ne pas construire un index. Vous obtenez ce que le temps de retour après votre première sélection.
Il y a de la documentation sur le site github, mais à un niveau de base, il fonctionne comme ceci:
Créer à partir d'une chaîne de HTML
CQ dom = CQ.Create(htmlString);
Charge de façon synchrone à partir du web
CQ dom = CQ.CreateFromUrl("http://www.jquery.com");
Charger de manière asynchrone (non bloquant)
CQ.CreateFromUrlAsync("http://www.jquery.com", responseSuccess => {
Dom = response.Dom;
}, responseFail => {
..
});
Exécuter les sélecteurs & faire des trucs jQuery
var childSpans = dom["div > span"];
childSpans.AddClass("myclass");
l' CQ
objet, c'est comme thejQuery objet. La propriété d'indexation utilisée ci-dessus est la méthode par défaut (comme $(...)
.
Sortie:
string html = dom.Render();