DOBON.NETプログラミング道掲示板
(現在 過去ログ1 を表示中)
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
[
最新記事及び返信フォームをトピックトップへ
]
[ トピック内全3記事(1-3 表示) ] <<
0
>>
■32902
/ inTopicNo.1)
Htmlの書き換え
▼
■
□投稿者/ ぶにゃっと
一般人(1回)-(2015/04/04(Sat) 23:08:13)
環境/言語:[Win7 VS2013 c#]
分類:[.NET]
はじめまして、ぶにゃっとと申します。
C#で現在ローカルに保存してあるHTMLファイルを読み込んで、
それを編集するアプリを作ろうと思っています。
webBrowserでページを読み込んで、
webBrowser1.Document.GetElementsByTagName("td")[1].InnerHtml = textBox2.Text
で該当箇所を表示上変えることはできたのですが、これを
var wc = new WebClient();
wc.DownloadFile(webBrowser1.Url, "test.html");
wc.Dispose();
で保存してみても元の状態のままになってしまいます。
もともとオンライン上のHTMLを扱うものなので、
なんとなくこうなるのは分かるんですが、
どうすれば書き換わった状態で保存できますか。
ご教示お願いします!
引用返信
削除キー/
編集
削除
■32903
/ inTopicNo.2)
Re[1]: Htmlの書き換え
▲
▼
■
□投稿者/ 魔界の仮面弁士
大御所(952回)-(2015/04/06(Mon) 10:02:31)
■
No32902
に返信(ぶにゃっとさんの記事)
> C#で現在ローカルに保存してあるHTMLファイルを読み込んで、
> それを編集するアプリを作ろうと思っています。
File.ReadAllText メソッドと
File.WriteAllText メソッドとか。
http://dobon.net/vb/dotnet/file/readfile.html#section6
http://dobon.net/vb/dotnet/file/writefile.html#section4
> webBrowser1.Document.GetElementsByTagName("td")[1].InnerHtml = textBox2.Text
WebBrowser を編集エディタとして使うのであれば、こういう方法もありますよ。
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
((dynamic)webBrowser1.Document.DomDocument).designMode = "on";
}
保存するのであれば、
webBrowser1.Document.ExecCommand("SaveAs", false, Type.Missing);
とか。
> var wc = new WebClient();
> wc.DownloadFile(webBrowser1.Url, "test.html");
> wc.Dispose();
> で保存してみても元の状態のままになってしまいます。
このコードを書いてみた理由は何でしょうか?
ご存知の通り、これは、サーバー上の Web ページを
ダウンロードする処理ですよね。ローカルの HTML、ましてや
WebBrowser で編集中の内容とは接点が見当たらないのですが…。
> なんとなくこうなるのは分かるんですが、
> どうすれば書き換わった状態で保存できますか。
WebClient で受け取りたいのなら、さもそもダウンロードする前に、
先にサーバーにアップロードしておく必要があります。
しかし今はアップロード以前に、保存処理すらできていないのですよね。
であれば現時点で、WebClient の出番は無さそうです。
webBrowser1.Document を編集したのですから、
保存もその webBrowser1.Document を用いて、こんな感じでどうでしょう。
string filePath = @"C:\temp\sample.html";
string HTML = (dynamic)webBrowser1.Document.DomDocument).documentElement.outerHTML;
System.IO.File.WriteAllText(filePath , HTML,System.Text.Encoding.UTF8);
引用返信
削除キー/
編集
削除
■32905
/ inTopicNo.3)
Re[2]: Htmlの書き換え
▲
▼
■
□投稿者/ ぶにゃっと
一般人(2回)-(2015/04/08(Wed) 01:05:10)
ありがとうございます!
ものすごく参考になりました!!
これで半分くらい目的のツールに近づけました!
ちなみに以下の部分ですが
> var wc = new WebClient();
> wc.DownloadFile(webBrowser1.Url, "test.html");
> wc.Dispose();
ローカルのファイルをサーバー上にあると見立てて、
webBrowser1で表示、それを編集、それをダウンロード
みたいなことができないかなぁと思いやってみたしだいです。
本当に参考なりました!またなにかありましたら
よろしくお願いいたします。
解決
済
み!
引用返信
削除キー/
編集
削除
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-