0

誰かが私のコードを修正するのを手伝ってくれませんか? どこが間違っているのかわかりません。やるべきことをやらないだけです。

ファイルを 1 行ずつ (すべての行に 1 つの URL が含まれています) 読み取る必要があります。次に、文字列内の URL を foreach として、その URL にアクセスし、タイトル、URL、および本文テキストを抽出して、ファイルに保存しますが、保存されません。何もしません。私が得ている唯一のエラーは、次のコード行を指す「オブジェクト参照がオブジェクトのインスタンスに設定されていません」です。

u = w.Document.Body.InnerText;

完全なコードは次のとおりです。

    OpenFileDialog of =
        new OpenFileDialog();
    of.Title =
        "app name - Select File";
    using (of)
    {
        try
        {
            Cursor = Cursors.WaitCursor;
            if (of.ShowDialog() == DialogResult.OK)
            {
                string[] file =
                    File.ReadAllLines(
                    of.FileName);


                foreach (string line in file)
                {
                    w.Navigate(line);
                    string t,
                        d,
                        u,
                        path =
                        @"file.txt";

                        t =
                            w.DocumentTitle;
                        u =
                            w.Document.Body.InnerText;
                        d =
                            w.Url.AbsolutePath;
                        t =
                            t.Substring(0,
                            250);
                        t =
                            t.Replace(
                            "\"",
                            "\\\"");

                        a.Text += "\n" +
                            u;

                        File.AppendAllText(path,
                            "s[" +
                            an +
                            "] = \"" +
                            t +
                            "^" +
                            u +
                            "^" +
                            url1 +
                            u +
                            url2 +
                            d +
                            "\";" +
                            Environment.NewLine);
                        an++;
                }
            }
            Cursor = Cursors.Default;
        }
        catch (Exception exception)
        {
            MessageBox.Show(exception.Message);
        }
    }

提案/ヘルプをいただければ幸いです。ありがとうございます:)

ジェイス

4

1 に答える 1

1

WebBrowser.Navigateは、IIRC、非同期です。ここで使用する方が良いWebClient.DownloadStringでしょうか?または HTML アジリティ パック / Load?

于 2009-12-17T23:29:12.513 に答える