actualización 10/18/2012
CsQuery se encuentra ahora en la versión 1.3. La última versión incorpora un puerto C# del analizador HTML5 validator.nu. Como resultado, CsQuery ahora producirá un DOM que usa la especificación HTML5 para el manejo de marcado no válido y cumple completamente con los estándares.
respuesta original
pregunta Viejo pero nueva respuesta. Recientemente he lanzado la versión 1.1 de CsQuery, un puerto jQuery para .NET 4 escrito en C# en el que he estado trabajando durante aproximadamente un año. También en NuGet como "CsQuery"
La versión actual implementa todos los selectores de CSS3 de CSS2 &, todas las extensiones de jQuery y todos los métodos de manipulación DOM de jQuery. Tiene una extensa cobertura de prueba que incluye todas las pruebas de jQuery y sizzle (el motor de selección jQuery CSS). También incluí algunas pruebas de rendimiento para realizar comparaciones directas con Fizzler; en su mayor parte CsQuery lo supera dramáticamente. La excepción es cargar el HTML en primer lugar, donde Fizzler es más rápido; Supongo que esto es porque Fizzler no crea un índice. Sin embargo, recuperas ese tiempo después de tu primera selección.
Hay documentación en el sitio GitHub, pero a un nivel básico funciona así:
Crear a partir de una cadena de HTML
CQ dom = CQ.Create(htmlString);
carga de forma sincronizada desde la web
CQ dom = CQ.CreateFromUrl("http://www.jquery.com");
Cargar de forma asíncrona (sin bloqueo)
CQ.CreateFromUrlAsync("http://www.jquery.com", responseSuccess => {
Dom = response.Dom;
}, responseFail => {
..
});
selectores Run & hacen jQuery cosas
var childSpans = dom["div > span"];
childSpans.AddClass("myclass");
el objeto CQ
es como objeto thejQuery. El indexador bienes utilizados anteriormente es el método por defecto (como $(...)
de salida:.
string html = dom.Render();
lo tanto, creo que hay actualmente nada como esto – Dave
¿Cómo XPath no consultar a satisfacer sus necesidades de cadena de carga en objeto DOM con? Analizador XML o HTML, y consulta de elementos en función de lo que desee. Al igual que jQuery. – patjbs
Si desea una estructura de consulta más fácil de grep, ¿ha intentado utilizar consultas de linq? – patjbs