내 C# 프로그램에서 웹 사이트의 HTML을 구문 분석하고 싶습니다.간단한 XPath 쿼리 : 결과 없음
먼저 DLL을 사용하여 HTML을 XML로 변환합니다. 나는이에 대한 다음과 같은 방법을 사용하십시오
XmlDocument FromHtml(TextReader reader)
{
// setup SGMLReader
Sgml.SgmlReader sgmlReader = new Sgml.SgmlReader();
sgmlReader.DocType = "HTML";
sgmlReader.WhitespaceHandling = WhitespaceHandling.None;
sgmlReader.CaseFolding = Sgml.CaseFolding.ToLower;
sgmlReader.InputStream = reader;
// create document
XmlDocument doc = new XmlDocument();
doc.PreserveWhitespace = true;
doc.XmlResolver = null;
doc.Load(sgmlReader);
return doc;
}
다음, 나는 웹 사이트를 읽고 header
노드를 찾아보십시오 : 그러나
var client = new WebClient();
var xmlDoc = FromHtml(new StringReader(client.DownloadString(@"http://www.switchonthecode.com")));
var result = xmlDoc.DocumentElement.SelectNodes("head");
,이 쿼리는 == 0 (수를 빈 결과를 제공). 내가 xmlDoc.DocumentElement 결과보기를 검사 할 때, 나는 다음을 참조하십시오 : 결과가없는 이유
어떤 생각인가? 다른 사이트 (예 : http://www.google.com)를 시도하면 작동합니다.
- 당신이 기술적으로 스크린 샷 – Cameron