Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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
对多GB xml文件排序_Xml_Sorting - Fatal编程技术网

对多GB xml文件排序

对多GB xml文件排序,xml,sorting,Xml,Sorting,如何按字母顺序对多GB xml文件中的所有标记进行排序,所有相等的标记也应按属性进行排序? 对于如此大的数据,相关问题中建议的所有方法都失败了 我正在寻找适用于Windows或Linux的现有工具。如果您使用XSLT进行排序,您可以使用XSLT的流安全子集,并使用支持流的处理器(如Saxon)。流模式下的Saxon可以轻松管理千兆字节的输入XML数据 Saxon网站有非常详细的文档说明。因为最初的目标是能够与包含相似数据但顺序不同的超大XML进行比较,我最终将XML拆分为逻辑块(每个xml包含数

如何按字母顺序对多GB xml文件中的所有标记进行排序,所有相等的标记也应按属性进行排序? 对于如此大的数据,相关问题中建议的所有方法都失败了


我正在寻找适用于Windows或Linux的现有工具。

如果您使用XSLT进行排序,您可以使用XSLT的流安全子集,并使用支持流的处理器(如Saxon)。流模式下的Saxon可以轻松管理千兆字节的输入XML数据


Saxon网站有非常详细的文档说明。

因为最初的目标是能够与包含相似数据但顺序不同的超大XML进行比较,我最终将XML拆分为逻辑块(每个xml包含数千个经过处理的文档,并使用csplit实用程序将其拆分成单独的文件),然后比较两个xml中大小相同的每对文档(幸运的是,一个xml中没有大小相同的文档)


这不是完美的解决方案,但它在合理的时间和空间限制下工作

您有权访问可以将XML导入的数据库服务器吗?如此详细的数据交换格式可能不适合如此大量的数据。定义:“对所有元素排序”在一个XML文件中。也许把它分成若干块,对其中的元素进行排序,然后将这些块合并成一个巨大的XML文档?最好?为了什么?速度?内存消耗?其他什么?还有-你使用的是什么语言和平台?我还没有使用XLST进行排序。你能指出一些简单的介绍吗?Kay的博客包含了m任何有用的资源:看起来这都无济于事-查看您在原始响应中提供的文章-在流模式下不支持排序(xsl:sort)、分组(xsl:for each group)和编号(xsl:number)