Programing

C #에서 사용할 수있는 jQuery와 유사한 CSS / HTML 선택기가 있습니까?

lottogame 2020. 11. 20. 08:27
반응형

C #에서 사용할 수있는 jQuery와 유사한 CSS / HTML 선택기가 있습니까?


C #에서 사용할 수있는 jQuery와 유사한 CSS 선택기가 있는지 궁금합니다.

현재 정규식을 사용하여 일부 html 문자열을 구문 분석하고 있으며 원하는 요소와 일치하도록 jQuery의 CSS 선택기와 같은 것을 갖는 것이 훨씬 더 좋을 것이라고 생각했습니다.


@jamietre의 CsQuery를 확실히 볼 수 있습니다. 이 질문에 대한 그의 대답을 확인하십시오!

FizzlerSharp-Query 는 비슷한 기능을 제공하지만 프로젝트는 포기한 것 같습니다.


업데이트 2012 년 10 월 18 일

CsQuery 는 이제 릴리스 1.3에 있습니다. 최신 릴리스에는 validator.nu HTML5 파서 의 C # 포트가 포함되어 있습니다. 결과적으로 CsQuery는 이제 잘못된 마크 업 처리에 HTML5 사양을 사용하고 완전히 표준을 준수하는 DOM을 생성합니다.

원래 답변

오래된 질문이지만 새로운 답변입니다. 저는 최근에 약 1 년 동안 작업해온 C #으로 작성된 .NET 4 용 jQuery 포트 인 CsQuery 버전 1.1을 출시했습니다. 또한 NuGet 에서 "CsQuery"로

현재 릴리스는 모든 CSS2 및 CSS3 선택기, 모든 jQuery 확장 및 모든 jQuery DOM 조작 방법을 구현합니다. jQuery 및 sizzle (jQuery CSS 선택 엔진)의 모든 테스트를 포함하여 광범위한 테스트 범위가 있습니다. 또한 Fizzler와 직접 비교하기 위해 몇 가지 성능 테스트를 포함했습니다. 대부분의 경우 CsQuery가이를 훨씬 능가합니다. 예외는 실제로 Fizzler가 더 빠른 첫 번째 위치에서 HTML을로드하는 것입니다. 나는 이것이 fizzler가 색인을 작성하지 않기 때문이라고 가정합니다. 그래도 첫 번째 선택 후에 그 시간을 되돌릴 수 있습니다.

github 사이트에는 문서가 있지만 기본 수준에서는 다음과 같이 작동합니다.

HTML 문자열에서 생성

CQ dom = CQ.Create(htmlString);

웹에서 동기식으로로드

CQ dom = CQ.CreateFromUrl("http://www.jquery.com");

비동기로드 (비 차단)

CQ.CreateFromUrlAsync("http://www.jquery.com", responseSuccess => {
    Dom = response.Dom;        
}, responseFail => {
    ..
});

선택기 실행 및 jQuery 작업 수행

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

CQ객체는 thejQuery 객체 같다. 위에서 사용 된 속성 인덱서는 기본 메서드 (예 : $(...).

산출:

string html = dom.Render();

XML의 경우 XPath를 사용할 수 있습니다.


나는 당신이 달성하려고하는지에 관해서는 완전히 명확하지 해요,하지만 당신은에서 데이터를 추출하려고하고있는 HTML 문서가 있다면, 나는 그것을로드 권하고 싶습니다 파서 하고는 상당히 단순하게 개체를 쿼리하여 원하는 요소를 가져옵니다.

위에서 링크 한 파서는 XPath 쿼리를 사용할 수있게하는데, 이는 사용자가 찾고있는 것과 같습니다.

내가 오해했다면 알려주세요.


jQuery와 같지는 않지만 도움이 될 수 있습니다 : http://www.codeplex.com/htmlagilitypack

참고 URL : https://stackoverflow.com/questions/1580635/is-there-a-jquery-like-css-html-selector-that-can-be-used-in-c

반응형