Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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到datatable的只读部分_C#_.net - Fatal编程技术网

C# XML到datatable的只读部分

C# XML到datatable的只读部分,c#,.net,C#,.net,C# 我有一个XML文件,其中包含serealized datatable。每一行代表一个事件。 事件量可能高达百万,加载所有这些数据可能需要很长时间, 并可能导致程序崩溃(无内存) 有没有办法只将XML文件中最后的X行加载到数据表中,然后保存它们,而不覆盖数据表中不存在的现有行(在XML中)?听起来您应该使用数据库。如果您试图通过XML文件作为主要存储方法来操作一组数据,那么您将遇到大量严重的问题。我建议您将您的方法改为一种更成熟的方法。XML不太适合这样的任务;它的密度不是很高(但密度高,体

C#

我有一个XML文件,其中包含serealized datatable。每一行代表一个事件。 事件量可能高达百万,加载所有这些数据可能需要很长时间, 并可能导致程序崩溃(无内存)


有没有办法只将XML文件中最后的X行加载到数据表中,然后保存它们,而不覆盖数据表中不存在的现有行(在XML中)?

听起来您应该使用数据库。如果您试图通过XML文件作为主要存储方法来操作一组数据,那么您将遇到大量严重的问题。我建议您将您的方法改为一种更成熟的方法。

XML不太适合这样的任务;它的密度不是很高(但密度高,体积大),加工成本高,不可追加

正如已经提出的那样,数据库可能是合适的,但是这里也有一些文件格式可以提供帮助(直接存储简单的数据;没有数据库抽象)。然而,最大的障碍是“最后n”要求。除非单独存储偏移量,否则这是非常棘手的(假设每条记录的大小不是固定的)


如果您想让我提出更具体的建议,请告诉我。

为什么要使用XML文件存储这么多数据?例如?你能告诉我更多的行之有效的方法吗。我需要更确切地了解一下您正在做什么,以便提供进一步的建议。请提供更具体的信息:-)。。。我不知道如何使用数据库,我还在学习。使用JSON明智吗?@gilad我可能会使用protobuf,因为它非常密集,处理成本也很低。比XML或json快得多、小得多。谢谢:)你能给我一些关于prtobuf的文章的链接吗?我不太擅长谷歌搜索。我找到了protobuf的主页,找到了入门指南。非常感谢:)@gilad获取信息,我是实现者之一(特别是protobuf-net)。如果你被卡住了,请告诉我!