【问题标题】:C++ Download XML file [closed]C++ 下载 XML 文件 [关闭]
【发布时间】:2013-12-29 13:40:37
【问题描述】:

您能告诉我如何从 URL 下载 XML 文件吗?论坛中的每个人都说要使用 libcurl 或其他类似的库。问题是我不知道如何使用它们。你能告诉我使用 C++ 下载 XML 文件的最佳方法吗?我想在我的小程序中使用它,我只是为了练习。

【问题讨论】:

  • 通过 c++ 标准库是不可能的。您必须使用一些第 3 方库来打开 HTTP 连接并解析 XML 文本。有许多库支持这样做。
  • LibCurl 有一整页专门用于小而简单的示例:curl.haxx.se/libcurl/c/example.html
  • 是的,我知道。我阅读了我需要使用的其他主题,例如 libcurl,但问题是我找不到学习如何使用它的好资源。
  • 我可以在 C++ 中使用 LibCurl 吗?还是只有 C 库?
  • 你可以在 C++ 中使用它。

标签: c++ xml


【解决方案1】:
  • 在 C++ 中从 URL 下载 XML 文件(借用自 here):

    如果您也能够使用 C++11,则使用 Microsoft Research 最近发布的 HTTP Casablanca 库是一个很好的解决方案。

    http://msdn.microsoft.com/en-us/devlabs/casablanca.aspx

    您需要使用 HTTP 客户端,类似于本教程中描述的内容, http://msdn.microsoft.com/en-US/devlabs/hh977106.aspx

    可能是这样的,

    http_client client( L"http://somewebsite.com" );
    
    client.request( methods::GET, L"page-to-download.html" )
        .then( []( http_response response ) {
            cout << "HTML SOURCE:" << endl << response.to_string() << endl; })
        .wait();
    
  • 在 C++ 中加载 XML:

除了你提到的LibCurl,我还推荐你使用MSXML来读/写xml文件。此外,MSXML 是 Microsoft 专有的(内置于 Windows 中)并支持 Windows x32/x64 应用程序。您无需安装任何东西即可使用它。

有关代码示例,您可以查看one of my blog-post,了解如何在 C++ 中使用它。

【讨论】:

  • 谢谢。但是你能告诉我运行这段代码到底需要什么吗?我想我需要下载 SDK 并安装它。然后呢?我应该在代码中包含标题或其他内容吗?
  • @user3038079 对于第一部分。可以在 Visual Studio 下下载运行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-27
  • 1970-01-01
  • 1970-01-01
  • 2013-02-10
  • 1970-01-01
相关资源
最近更新 更多