2013-11-21 6 views
1

웹 페이지의 소스 코드를 다운로드했으며 HTML 텍스트를 구문 분석하고 HtmlDocument 개체 또는 인터페이스와 같은 형식으로 변환하여 HTML 요소에 액세스 할 수 있습니다.Windows 앱에서 HTML을 구문 분석하는 방법은 무엇입니까?

나는 온라인에서 일부 검색을 수행했습니다. HtmlAgilityPack 라이브러리를 사용하는 것 외에는 WebView을 만들고 NavigateToString() 메서드를 호출하는 것이 유일한 방법입니다. 제 3 자 라이브러리를 사용하고 싶지 않아서 제 2의 솔루션을 시도했습니다. 메소드를 호출했지만 문서 또는 그와 유사한 것을 검색 할 위치를 모른다.

내 질문은 : WebView에서 HtmlDocument를 검색하는 방법은 무엇입니까? 아니면 이것을하기위한 더 좋은 해결책이 있습니까?

+0

왜 제 3 자 라이브러리를 사용하지 않으시겠습니까? 일반적으로 제대로 제공되지 않는 기능의 경우 기능을 설치하고 실행하는 가장 쉬운 방법입니다. –

+0

그 이유는 매우 간단합니다. 때로는 써드 파티 라이브러리를 도입 할 때 견고성, 성능, 버전 관리, 이식성 등의 추가 고려 사항이 필요합니다. 가능한 한 간단하게 코드베이스를 유지하려고 노력했습니다. 그래서 원칙적으로 제 3 자보다 네이티브 솔루션을 선호해야합니다. 기분 나빠하지 마라! 빠른 코멘트 주셔서 감사합니다! – SimonFisher

+0

취해서는 안됩니다. 걱정하지 마십시오. 어떤 사람들은 제 3 자 구성 요소에 대한 비공식적 인 두려움을 갖고있어 종종 시간과 노력을 낭비 할 수 밖에 없기 때문에 나는 물었습니다. 실용적인 소프트웨어 개발은 ​​다른 사람들이 훨씬 더 높은 곳에도 도달 할 수 있도록하는 데 있습니다. –

답변

4

위의 의견에서 Todd Bowles도 지적했듯이 타사 솔루션이있는 경우이를 사용하면 귀중한 시간과 노력을 절약 할 수 있습니다.

HTML Agility Pack의 대안은 상당히 초기 단계이지만 여전히 AngleSharp입니다. 다양한 브래킷 기반의 하이퍼 텍스트, 특히 HTML과 CSS를 파싱 할 수 있으며 파싱 된 하이퍼 텍스트의 HTML5 DOM 표현을 생성합니다. HTML5 파서가 95 % 완성되었다고 주장하는 순간, 정규 사용에 미치는 영향은 제한적일 수 있습니다.

AngleSharp휴대용 클래스 라이브러리 (PCL)로 구현 내가 올바른 오전 경우는 윈도우 스토어 앱, .NET 프레임 워크 4 이상, 윈도우 폰 7 이상 등을 대상으로 잘 실버 라이트 4 이상.

+0

95 %는 방어적인 추정치입니다. 대부분의 테스트 (현재 약 1600)는 HTML (5) (가장자리) 사례를 처리합니다. AngleSharp가 올바르게 구문 분석하지 않으면 HAP 또는 다른 솔루션이 올바른 방식으로 구문 분석하지 않습니다. –

관련 문제