Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用分页将XML拆分为多个XML文件_C#_Xml_Paging - Fatal编程技术网

C# 使用分页将XML拆分为多个XML文件

C# 使用分页将XML拆分为多个XML文件,c#,xml,paging,C#,Xml,Paging,我有一本工作字典,需要将其写入XML以供站点地图使用 我不能让文件超过50000条记录,所以需要一种方法来分页这些信息或沿着这些线的东西 此方法决定作业总数是否大于30000 如何更改else以包含分页?在您的(内部)for循环中添加Skip之前Take int newJobCount = JobCount / 4; for (int i = 0; i < 4; i++) { Test(item.Value.BrandName, item.Value.CountryC

我有一本工作字典,需要将其写入XML以供站点地图使用

我不能让文件超过50000条记录,所以需要一种方法来分页这些信息或沿着这些线的东西

此方法决定作业总数是否大于30000


如何更改else以包含分页?

在您的(内部)for循环中添加
Skip
之前
Take

int newJobCount = JobCount / 4;

for (int i = 0; i < 4; i++)
{
          Test(item.Value.BrandName, item.Value.CountryCode, item.Value.Jobs.Values.Skip(newJobCount * i).Take(newJobCount).ToList());
}
int newJobCount=JobCount/4;
对于(int i=0;i<4;i++)
{
测试(item.Value.BrandName、item.Value.CountryCode、item.Value.Jobs.Values.Skip(newJobCount*i).Take(newJobCount.ToList());
}

关于新工作计数的旁注

如果您希望将每页的作业数限制为3000,则以下操作会更好:

int pageCount = JobCount/3000 + (JobCount % 3000 == 0 ? 0 : 1);

for (int i = 0; i < pageCount; i++)
{
    Test(item.Value.BrandName, item.Value.CountryCode, item.Value.Jobs.Values.Skip(3000 * i).Take(3000).ToList());
}
int pageCount=JobCount/3000+(JobCount%3000==0?0:1);
for(int i=0;i
您好,谢谢您的回答!很好用!当我正在努力理解==0时,你能给我解释一下pageCount行吗?0:1是吗?假设JobCount是4500。然后JobCount/3000将返回1作为pageCount。因此,只会处理3000个工作岗位。“==0?0:1'部分确保如果有任何剩余部分(在本例中为1500),那么我们将添加另一页来覆盖它。