2

如何在网页内容 (html) 中扫描(如 scanf(来自 C)和 Scanner 类(来自 Java))并将其用作我的程序的输入?

string[] line = new string[length];
for (int i = 0; i < line.Length; i++) {
  line[i] = Console.ReadLine();
  //Can I have ReadLine read from a website not the Console?
}

例如,我想将一个包含我附近公共汽车时刻表的文本文件放在 Web 服务器上,然后访问它并使用它为我的应用程序生成输出。这样我就可以更新它并且始终可以访问这些更新。

PS 我是一个初级程序员,尤其是一个初级 C# 程序员,所以我很难找到我正在寻找的东西,因为我不知道要搜索什么。

感谢您的帮助:我能够开始寻找正确的东西,这很有效:

class MainClass
{
    public static void Main (string[] args)
    {
        // Create web client.
        WebClient client = new WebClient();

        // Download string.
        string value = client.DownloadString("http://www.example.com");

        // Write values.
        Console.WriteLine("--- WebClient result ---");
        Console.WriteLine(value.Length);
        Console.WriteLine(value);
    }
}
4

2 回答 2

0

您可以通过 URL 请求内容,然后使用 HTML Agility Pack 之类的工具将其加载到 HTML 文档中。请参阅此 SO 线程以获取建议在 C# 中解析 html 的最佳方法是什么?

于 2013-01-23T19:37:48.427 回答
0
private void Test()
{
    string pageData = DownloadWebPage(new Uri("http://www.yourftp.com"));
    //parse data
}

private string DownloadWebPage(Uri path)
{
    string webPageData = null;

    using (WebClient client = new WebClient())
    {
        client.DownloadStringAsync(path);
        client.DownloadStringCompleted += (sender, args) => webPageData = args.Result;
    }

    return webPageData;
}

上传后,您可以使用上述方法从您的网络服务器下载文本文件。只需将 URI 传递给该DownloadWebPage方法,它就会返回文本页面。如果您需要帮助解析文本文档以提供有意义的 C# 表示,您需要给出文本文件的示例并描述您希望如何解析它。

于 2013-01-23T19:44:08.873 回答