下载N MB的XML文件

保罗0PT

我想下载巨大的XML文件的前N MB,因此可以使用HTMLAgilityPack关闭损坏的标签。不幸的是,我不能使用XMLReader。

我尝试在HTTP标头上设置范围,但这似乎不起作用,所以现在我尝试这样做:

public string download(string url, int mb)
{
    Int32 bytesToGet = 1048576 * mb;

    HttpWebRequest request;
    request = WebRequest.Create(url) as HttpWebRequest;
    var buffer = new char[bytesToGet];
    using (WebResponse response = request.GetResponse())
    {
        using (StreamReader sr = new StreamReader(response.GetResponseStream()))
        {
            sr.Read(buffer, 0, bytesToGet);
        }
    }

    return new string(buffer);
}

但这仍然不起作用。我用mb = 5尝试了一下,但得到的XML文件只有几行。

CodeCaster

您只调用Read()一次,这并不能保证会填满您的缓冲区。保持下载的字节数并继续读取,直到缓冲区已满或到达流的末尾为止:

int offset = 0;
int bytesRead = 0;

do
{
    bytesRead = sr.Read(buffer, offset, bytesToGet - offset);
    offset += bytesRead;

} while (bytesRead > 0);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

读取文件的前N mb

无法下载大于 3.5mb 的视频文件

使用PHP下载文件,我的下载停止在11MB

只在python中下载新文件(wget -N)

如何调整用于下载N个文件的goroutine的数量?

使用FileProvider在Android N上打开下载的文件

“ N:不能放弃作为文件下载的特权”的含义是什么?

如何使用终端下载部分s3 aws cli?它是一个1 TB的json / xml文件,我只需要100-200MB的顺序编号文件

如何制作可下载的.xml文件?

如何从inputtextarea下载包含内容的xml文件?

使用php从https下载xml文件

无法使用LibGDX Net在Android上下载100mb文件

Google Real-Time API:如何下载大于 10MB 的实时文件?

命令行使用vbscript下载大文件(500 + mb)

无法从解析服务器下载大于20mb的pdf文件

PHP和AJAX几个MB文件的下载将冻结网站

IIS停止下载321 MB

Python:批量下载xml文件返回损坏的zip文件

在xml文件下载中,在文件的开头添加了新行

在下载文件夹Android N(API 24+)中打开文件

PHP下载标题(文件下载)

带有 Dropbox 链接的“wget -N”始终下载(即使文件没有更改)

使用 ftplib.retrlines 下载 ftp 中的前 N 行文本文件

在使用批处理文件的情况下,在 n 次下载后退出 youtube-dl

为什么我的换行符 '\n' 在下载时从我的 csv 文件中删除?

在html页面中使用java脚本创建M * N表并导出和下载excel文件

如何从SQL Server下载一批XML文件?

xml.gzip 文件的下载不起作用

如何通过SFTP下载和打开XML文件?