C #에서 사용할 수있는 jQuery와 유사한 CSS / HTML 선택기가 있습니까?
C #에서 사용할 수있는 jQuery와 유사한 CSS 선택기가 있는지 궁금합니다.
현재 정규식을 사용하여 일부 html 문자열을 구문 분석하고 있으며 원하는 요소와 일치하도록 jQuery의 CSS 선택기와 같은 것을 갖는 것이 훨씬 더 좋을 것이라고 생각했습니다.
@jamietre의 CsQuery를 확실히 볼 수 있습니다. 이 질문에 대한 그의 대답을 확인하십시오!
Fizzler 와 Sharp-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
'Programing' 카테고리의 다른 글
Emacs에서 현재 버퍼를 닫는 키 시퀀스는 무엇입니까? (0) | 2020.11.20 |
---|---|
Eclipse의 프로젝트 탐색기보기에서 프로젝트 .jars 제거 (0) | 2020.11.20 |
OS X에서 sed로 탭 문자를 삽입하려면 어떻게해야합니까? (0) | 2020.11.20 |
PHP에서 오류 로그 파일에 쓰는 방법 (0) | 2020.11.20 |
Chrome은 Fiddler 루트 인증서를 신뢰하지 않습니다. (0) | 2020.11.20 |