요즘 너무 노는 내용만 올린 것 같아서 공부 내용도 첨가...^^
(Http)WebRequest를 이용해서 가져온 Stream 형식의 웹 페이지 소스를 String으로 받는 경우는 정보가 많은데
Stream이나 String 형식을 html 형식으로 바꾸는 방법을 찾기는 쉽지 않았다.
이를 다루는 방법은 HtmlDocument 개체를 이용하거나 MS html 형식인 mshtml 네임스페이스를 이용,
여기서 지원하는 IHTMLDocument(2,3,4 등등) 개체를 사용하는 것인데,
후자의 경우 각 개체들이 지원하는 method가 달라서 혼동의 여지가 있다.
간단하게 String 형식을 HtmlDocument 형식으로 바꾸는 코드는 다음과 같다.
using System.Windows.Forms
// temphtml 개체에 String 형식의 html 데이터가 들어있을 때
HtmlDocument myhtml;
WebBrowser wb = new WebBrowser();
// Form의 WebBrowser 개체를 이용하므로 javascript의 경우 에러가 발생할 수 있다.
// 단순한 내용 표시 목적의 경우로서 스크립트 에러창이 뜨는 것을 무시하고 계속 표기하는 옵션
wb.ScriptErrorsSuppressed = true;
wb.DocumentText = "";
myhtml = wb.Document.OpenNew(true);
myhtml.Write(temphtml);
다녀감...
ReplyDelete