2

最近、非常に奇妙な C# 文字列の問題に遭遇しました。どこでも検索を試みましたが、解決策が見つかりませんでした。私は C# を初めて使用するので、この質問が単純すぎる場合はご容赦ください。

ac# 文字列変数を使用して、webbrowser からの html テキストを保持しました。

string webresult = webBrowser1.DocumentText;

どういうわけか、html テキストの最初の 4096 バイトしか保持されません。私が使う :

Console.Out.WriteLine (webresult.Length);

コンソールの出力は 4096 です。

しかし、それをファイルにダンプすると、残りの html ファイルはすべて正常に出力されます。

FileStream fileStream = new FileStream(@"web.html", FileMode.OpenOrCreate, FileAccess.Write);
try
{
    // read from file or write to file
    StreamWriter m_streamWriter = new StreamWriter(fileStream);                
    m_streamWriter.WriteLine("{0}", str);
    m_streamWriter.Flush();
}
finally
{
    fileStream.Close();
}

誰でもこの問題を手伝ってもらえますか? ありがとう

4

2 に答える 2

1

4096 文字の制限は http 呼び出しに関連付けられていると思われるため、さらに調査するために調べます。

于 2012-12-11T06:36:43.340 に答える
0

これは、DocumentText を取得しているときに、ページが完全に読み込まれていないように聞こえます。WebBrowser は、ロードが完了するとイベントをスローすると思います ( DocumentCompleted)。そのイベントのハンドラーでテキスト ダンプを実行する必要があります。

于 2012-12-11T02:43:28.540 に答える