我的问题是是否有一种简单的方法来压缩XML文件。我读了关于EXI, gzip和类似的,但我不明白如何做,或者如果我的问题是可能的。
我想要实现的是减少我使用SimpleXML的XML文件的大小。这是否可能,如果是,这会对速度/性能/内存有影响吗?
另外,一个大的XML文件被认为是大的是基于元素的大小或数量?
对于"更好"的XML,您应该遵循哪些技巧?
是的,这会影响性能,因为在任何xml解析器读取数据之前,必须对数据进行解压缩。它消耗多少内存取决于压缩和xml解析器,但它不会使用更少的内存(原因是一样的:无论如何它都必须未压缩)。
根据文件大小和元素数量,"大XML"被认为是大的,因为文件大小通常直接取决于内容(元素数量)。
我认为最好的方法就是删除尽可能多的不必要的数据。也就是说,不要为人类的易读性设置格式。这将包括许多不必要的空格/制表符/换行符。尽可能使用自关闭标记,并将内容减少到仍然符合XML规范的最低限度。我相信有压缩机可以做到这一点。这种"压缩"不需要在解析之前解压缩,但反过来可能不会为您节省太多空间。
已经认真尝试过减少XML开销,请参阅二进制XML和本文
在某些情况下,减少要通过网络发送的数据量是很重要的,并且值得在每端支付一些额外的处理成本。
在使用自描述但冗长的格式(如XML)和关心最终的有效负载大小之间存在一些矛盾。添加某种形式的二进制压缩就像在一辆非常豪华但速度很慢的汽车上购买火箭助推器一样,您试图获得两全其美。