2009-07-16 23 views

Respuesta

9

Linq to XML, para lo que quiere hacer.

+0

Gracias voy a mirar en él de inmediato a continuación :) –

+0

Excepto que no todo el HTML es XML. – PilotBob

+0

@pilotbob: Nadie dijo nada sobre HTML. –

2

Creo que LINQ es probablemente lo que estás buscando.

8

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 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(); 
Cuestiones relacionadas