Aktualizacja 10/18/2012
CsQuery jest teraz w wydaniu 1.3. Najnowsza wersja zawiera port C# analizatora składni HTML5 validator.nu. W wyniku tego CsQuery będzie teraz produkować DOM, który używa specyfikacji HTML5 do nieprawidłowej obsługi znaczników i jest całkowicie zgodny ze standardami.
Original Odpowiedź
Stare pytanie, ale nowa odpowiedź. Niedawno wydałem wersję 1.1 CsQuery, port jQuery dla .NET 4 napisany w C#, nad którym pracuję od około roku. Również na NuGet jako „CsQuery”
Obecne wydanie realizuje wszystkie CSS2 & CSS3 selektorów jQuery, wszystkie rozszerzenia, a wszystkie metody manipulacji jQuery DOM. Ma szeroki zakres testów obejmujący wszystkie testy z jQuery i skwierczenie (mechanizm selekcji jQuery CSS). Dodałem także testy wydajności do bezpośrednich porównań z Fizzler; w przeważającej części CsQuery dramatycznie go wyprzedza. Wyjątkiem jest ładowanie kodu HTML w pierwszej kolejności, gdzie Fizzler jest szybszy; Zakładam, że to dlatego, że fizzler nie tworzy indeksu. Otrzymasz ten czas po pierwszej selekcji.
Jest dokumentacja na stronie github, ale na poziomie podstawowym to działa tak:
Tworzenie z ciągu HTML
CQ dom = CQ.Create(htmlString);
obciążenia synchronicznie z sieci
CQ dom = CQ.CreateFromUrl("http://www.jquery.com");
Ładuj asynchronicznie (bez blokowania)
CQ.CreateFromUrlAsync("http://www.jquery.com", responseSuccess => {
Dom = response.Dom;
}, responseFail => {
..
});
Run selektorów jQuery & robić rzeczy
var childSpans = dom["div > span"];
childSpans.AddClass("myclass");
przedmiotem CQ
jest jak przedmiot thejQuery. Indexer nieruchomość używana powyżej jest domyślną metodą (jak $(...)
wyjściowa:.
string html = dom.Render();
Tak, myślę, że nie ma obecnie nic takiego – Dave
Jak XPath nie odpytywanie swoich potrzeb ciąg załadować do obiektu DOM z? Analizator składni XML lub HTML i zapytanie o elementy oparte na tym, co lubisz. Tak jak jQuery: – patjbs
Jeśli potrzebujesz łatwiejszej struktury zapytań, czy próbowałeś użyć zapytań linq? – patjbs