2013-11-20 3 views
0

실제 C# 스크립트에서 XPath 값에 대해 실용적이라고 이해하지만 항상 null을 반환하는 것으로 모든 순열을 시도했습니다.HtmlAgilityPack SelectSingleNode가 div를 찾지 못하는 이유

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); 

이 나는 ​​보았다 처음이다 : 그것은 단지 <body>

문서 따라서 할당으로 값을 반환합니다 다시 SelectSingleNode의 간단한 사용 될 것 같다 무엇을하지만 여전히 몇 가지 이유를 스트라이프 XPath에는 HtmlAgilityPack에 대한 경험이 제한되어 있습니다. 그래서 내 부분에서 의심 할 여지없이 매우 기본적인 실패입니다. 그러나 :

HtmlAgilityPack.HtmlNode node = doc.DocumentNode.SelectSingleNode("//body"); 

결과 : 노드

HtmlAgilityPack.HtmlNode node = doc.DocumentNode.SelectSingleNode("//div"); 

결과 (스크립트 테스트 하나 이상에 있음) DIV 또는 다른 요소로 대체 ​​널 아니다 :

노드가 null

내가 무엇을 놓쳤는가?

+1

귀하의 구문을 옳은. 결과가 null이면 HTML 문서에 div 태그가 없음을 의미합니다. – broke

+0

그렇습니다. 그러나 제가 말한대로이 태그들은 스크립트에 있으며 null을 반환합니다. 그래서 무엇이 실패 할까? 코드 코드에 사용 된 예제 스크립트는 adventurebods.com/home/ –

+0

에서 찾을 수 있습니다. 실제로 정확한 결과가 나옵니다. –

답변

0

죄송합니다. 위의 adventurebods URL에있는 예제는 의도 된 테스트 스크립트의 소스 였지만 실제로는 더 적은 것이 있습니다. 이 과정 클립 보드에서 스크립트를이 요구 사항의 사본을 이전 - 물론 나는 이것이 올바른 것으로 가정했지만, 사실 내가 사용 후 절단 된 스크립트가 레몬되는 : div 태그가 찾는

htmlText = Clipboard.GetText(TextDataFormat.Html); 
관련 문제