HTMLAgiltyPack에 노드가 있는지 확인하십시오.

html-agility-pack windows-8.1 windows-phone-8.1

문제

HtmlWeb 클래스와 loadFromWebAsync 메서드를 통해 인터넷에서 파싱 된 HtmlNode 에서 foreach 루프를 실행하고 싶습니다. 루프를 실행하기 전에 노드가 HtmlDocument 에 있는지 확인하려고합니다. Windows RTWindows 8.1 버전의 많은 기능이이 기능과 작동하지 않기 때문에 도움말 Xpath 쿼리없이이를 어떻게 확인합니까?

인기 답변

.Any() 메서드를 사용하여 시퀀스에 요소가 들어 있는지 확인할 수 있습니다. 예를 들면 다음과 같습니다.

var doc = new HtmlDocument();
.....
var isDivExist = doc.DocumentNode
                    .Descendants("div")
                    .Any();

또는 시퀀스의 노드가 특정 조건을 만족하는지 확인합니다.

var isDivWithSpecificClassExist = doc.DocumentNode
                                     .Descendants("div")
                                     .Any(d => .GetAttributeValue("class", "") == "foo");


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