HtmlAgilityPack : 경로에 잘못된 문자가 있습니다.

c# html-agility-pack html-parsing

문제

이 코드에서 "경로에 잘못된 문자가 있음"오류가 나타납니다. 나는 "Error Occuring Here"를 오류가 발생한 행의 주석으로 언급했습니다.

var document = htmlWeb.Load(searchUrl);
var hotels = document.DocumentNode.Descendants("div")
             .Where(x => x.Attributes.Contains("class") &&
             x.Attributes["class"].Value.Contains("listing-content"));

int count = 1;
foreach (var hotel in hotels)
{
    HtmlDocument htmlDoc = new HtmlDocument();
    htmlDoc.OptionFixNestedTags = true;
    htmlDoc.Load(hotel.InnerText);      // Error Occuring Here //
    if (htmlDoc.DocumentNode != null)
    {
        var hotelName = htmlDoc.DocumentNode.SelectNodes("//div[@class='business-container-inner']//div[@class='business-content clearfix']//div[@class='business-name-wrapper']//h3[@class='business-name fn org']//div[@class='srp-business-name']//a[0]");
        foreach (var name in hotelName)
        {
            Console.WriteLine(name.InnerHtml);
        }
    }
}

수락 된 답변

LoadHtml 메서드를 사용하여 문자열을로드해야합니다. 파일 에서 Load 메서드로드

htmlDoc.LoadHtml(hotel.InnerText);   

인기 답변

이것은 단순히 파일 경로 / 이름에 유효하지 않은 문자가있는 파일 을로드하려고한다는 것을 의미합니다.

오류는 다음과 같습니다.

htmlDoc.Load(hotel.InnerText); 

그 오버로드는 파일에 대한 경로를 기대하기 때문에 :

htmlDoc.Load(hotel.InnerText); 

LoadHtml 을 사용하여 HTML 단편을로드하십시오.

htmlDoc.Load(hotel.InnerText); 



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