C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: Frame内のHTMLソース取得


(過去ログ 88 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■52191 / inTopicNo.1)  Frame内のHTMLソース取得
  
□投稿者/ stars (1回)-(2010/08/03(Tue) 01:52:39)

分類:[C#] 

初めまして。
現在VC#2010Expressを使用して開発をしていまして、
Form内に表示させたとあるサイトのオリジナルのHTMLソース(右クリック→ソースの表示で取得できるもの)
を取得したいのですが、フレーム分割されているページの場合オリジナルと異なるソースしか
取得できない状態でして、、

int len = (int)wb.DocumentStream.Length; 
byte[] doc = new byte[len]; 
wb.DocumentStream.Read(doc, 0, len); 
Encoding enc = Encoding.GetEncoding(wb.Document.Encoding); 

上記で普通のページのものなら完全オリジナルのHTMLソースを取得できるのですが、
同じように、
wb.Document.Window.Frames[1]の内容を取得する事は方法はありませんでしょうか。 

※http://oshiete.goo.ne.jp/qa/6080749.htmlでも質問しているのですが、
中々回答を頂けないようなのでこちらでも質問させていただきました。
どちらかに回答を頂き次第クローズします。

引用返信 編集キー/
■52193 / inTopicNo.2)  Re[1]: Frame内のHTMLソース取得
□投稿者/ Hongliang (681回)-(2010/08/03(Tue) 07:43:42)
・IPersistStream の定義を書く。
・IStream を実装したクラスを書く。最低限 Write メソッドさえ実装していればあとは NotImplemented でも問題ないはず。
・HtmlDocument の DomDocument を IPersistStream にキャストし、IStream の実装クラスに Save する。
とやれば DocumentStream と同じものが手に入りますが。
// html ファイル以外、xml とか txt とかだと必ずしも「完全オリジナル」ではないですけど。
引用返信 編集キー/
■52281 / inTopicNo.3)  Re[2]: Frame内のHTMLソース取得
□投稿者/ stars (3回)-(2010/08/04(Wed) 23:59:12)
No52193 (Hongliang さん) に返信
> ・IPersistStream の定義を書く。
> ・IStream を実装したクラスを書く。最低限 Write メソッドさえ実装していればあとは NotImplemented でも問題ないはず。
> ・HtmlDocument の DomDocument を IPersistStream にキャストし、IStream の実装クラスに Save する。
> とやれば DocumentStream と同じものが手に入りますが。
> // html ファイル以外、xml とか txt とかだと必ずしも「完全オリジナル」ではないですけど。

>Hongliangさん
ありがとうございます。 教えて頂いた方法でなんとか頑張ってみます。
引用返信 編集キー/
■52283 / inTopicNo.4)  Re[3]: Frame内のHTMLソース取得
□投稿者/ Hongliang (682回)-(2010/08/05(Thu) 01:07:13)
あ、忘れてた。
DomDocument を System.Runtime.InteropServices.ComTypes.IPersistFile にキャストして、Save メソッドを呼び出すことで同様の内容をファイルに保存することができます。
インターフェイスの定義とか実装とか分からんって場合、これを簡易的な解決策としても良いでしょう。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -