virgulilla selectores nuevos hijos excluir etiquetas elemento ejemplo clases c# jquery css jquery-selectors css-selectors

selectores - ¿Hay un selector CSS/HTML similar a jQuery que pueda usarse en C#?



selector padre css (5)

Definitivamente deberías ver el CsQuery de @ CsQuery . ¡Mira su respuesta a esta pregunta!

Fizzler y Sharp-Query proporcionan una funcionalidad similar, pero los proyectos parecen estar abandonados.

Me pregunto si hay un selector css jQuery que se pueda usar en C #.

Actualmente, estoy analizando algunas cadenas html utilizando expresiones regulares y pensé que sería mucho mejor tener algo como el selector css en jQuery para que coincida con mis elementos deseados.



No estoy del todo claro en cuanto a lo que intentas lograr, pero si tienes un documento HTML del que tratas de extraer datos, te recomiendo que lo cargues con un parser , y luego se vuelve bastante trivial. consultar el objeto para extraer los elementos deseados.

El analizador vinculado anteriormente permite el uso de consultas XPath, que suena como lo que estás buscando.

Avísame si he entendido mal.


Para XML, puede usar XPath ...


Actualización 18/10/2012

CsQuery ahora está 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 anterior 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 CSS2 y CSS3, 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 en un nivel básico funciona así:

Crear a partir de una cadena de HTML

CQ dom = CQ.Create(htmlString);

Cargar sincrónicamente 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 => { .. });

Ejecutar selectores y hacer jQuery cosas

var childSpans = dom["div > span"]; childSpans.AddClass("myclass");

el objeto CQ es como el objeto jQuery. El indexador de propiedades utilizado anteriormente es el método predeterminado (como $(...) .

Salida:

string html = dom.Render();