htmlagiltypack으로 html을로드하려고 할 때 오류가 발생했습니다.

.net c# html-agility-pack

문제

이 코드를 실행하려고합니다.

string path = "http://warisons.rssing.com/chan1729325/all_p43.html";
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.LoadHtml(path);
var div = htmlDoc.DocumentNode.Descendants("div");
foreach (var x in div)
{
    Console.WriteLine(x.Attributes["class"].Value);
}

htmlDoc.LoadHtml(path); 에서이 코드를 디버깅 할 때 htmlDoc.LoadHtml(path); 이 오류가 있습니다.

'd : \ SVN_CHECKOUT \ htmlagilitypack \ Trunk \ HtmlAgilityPack \ HtmlDocument.cs'의 소스를 찾습니다. 체크섬 : MD5 {4e 14 d3 b d5 30 6e 2c bf 84 ab 8a 96 82 4a 8f} 'd : \ SVN_CHECKOUT \ htmlagilitypack \ Trunk \ HtmlAgilityPack \ HtmlDocument.cs'파일이 존재하지 않습니다. 'd : \ SVN_CHECKOUT \ htmlagilitypack \ Trunk \ HtmlAgilityPack \ HtmlDocument.cs'... 'd : \ SVN_CHECKOUT \ htmlagilitypack \ Trunk \ HtmlAgilityPack \ HtmlDocument.cs'프로젝트를 찾고 있습니다. 프로젝트에서 파일을 찾을 수 없습니다. 'C : \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ crt \ src \'디렉토리를 찾고 있습니다. src \ vccorlib \ '... C : \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ atlmfc \ src \ mfc \ \ Microsoft Visual Studio 12.0 \ VC \ atlmfc \ src \ atl \ '... C : \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ atlmfc \ include'디렉터리를 찾는 중 ... 디버그 원본 파일 설정 활성 솔루션의 경우 디버거가 d : \ SVN_CHECKOUT \ htmlagilitypack \ Trunk \ HtmlAgilityPack \ HtmlDocument.cs 파일을 찾지 못하도록 지시합니다. 디버거에서 소스 파일 'd : \ SVN_CHECKOUT \ htmlagilitypack \ Trunk \ HtmlAgilityPack \ HtmlDocument.cs'을 찾을 수 없습니다.

수락 된 답변

URI에서 html 문서를로드하려는 시도가 잘못되었습니다.

Methof HtmlDocument.LoadHtml 은 제공된 문자열에서 HTML을로드하므로 해당 인수는 URI가 아닌 html 텍스트 자체입니다.

제공된 URI에서 HTML을로드하려면 다음과 같은 것이 필요합니다.

string path = "http://warisons.rssing.com/chan1729325/all_p43.html";
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlWeb().Load(path);

또한 여기에 NullReferenceException 을 얻을 수 있다는 것에주의하십시오.

string path = "http://warisons.rssing.com/chan1729325/all_p43.html";
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlWeb().Load(path);

그 값에 접근하기 전에 class 속성 ( x.Attributes["class"] != null )이 있는지 검사하지 않기 때문이다.




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.