XML-如何对 XML 进行压缩,现在最先进的技术有哪些?

XML-如何对 XML 进行压缩,现在最先进的技术有哪些?

想挽留 发布于 2016-11-27 字数 338 浏览 1112 回复 2

XML 通常被称为自我描述的数据,因为它被设计为对文档中的每个记录使用重复的模式。这种自我描述功能为 XML 提供了巨大的灵活性,但是也引入了 XML 文档过于冗长的问题,这会造成文档较大。由于 XML 的使用率在不断增长,而且大型 XML 文档信息库目前也非常普遍,所以对高效 XML 压缩工具的需求非常大,所以现在想问下大家 对xml进行压缩先进的技术有哪些?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜无邪 2017-08-05 2 楼

看看这个:

<?php
$xml= "content of xml ";
$gzdata = gzcompress ($xml, 9);
echo $gzdata;
?>

接收页面:
<?php
$gzcontent = file_get_contents( "http://127.0.0.1/gzsend.php ");
$xml=gzuncompress($gzcontent);
echo $xml;
?>

补充一下:
Apache 2.0包含了mod_deflate模块,这个模块对服务器内容进行动态的Gzip压缩。这种压缩可以是对所有内容无差别的——对IE浏览器,所有的内容都是经过压缩的,或者是选择性的,仅压缩指定的MIME类型,MIME类型由HTTP应答头确定,这个HTTP头可以是由Apache自动生成或是由动态程序(例如CGI)的输出。

  要实现内容的无差别压缩,可以在Apache配置文件中对整个站点或需要启用压缩的目录加入SetOutputFilter指示如下:

SetOutputFilter Deflate

  要启用对特定MIME类型内容的压缩,可以在配置文件中使用AddOutputFilterByType指示,例如下面这样:

AddOutputFilterByType DEFLATE text/html

泛泛之交 2016-12-21 1 楼

XML 压缩分为非可查询(归档)XML 压缩器和可查询 XML 压缩器。

非可查询(归档)XML 压缩器:这种 XML 压缩器不允许通过被压缩的格式(例如:gzip、bzip2、XMill)处理查询。这类压缩器主要侧重于实现最高的压缩比。在默认情况下,通用文本压缩器是非可查询压缩器组。

可查询 XML 压缩器:这种 XML 压缩器允许通过其被压缩的格式处理查询。这种压缩器的压缩比通常比归档 XML 压缩器的压缩比差。这类压缩器主要侧重于避免在查询过程中进行完整的文档解压缩。实际上,对被压缩的 XML 格式执行直接查询的能力对于许多托管在资源有限的计算设备上的应用来说都非常重要,如:移动设备和 GPS 系统。在默认情况下,所有的可查询压缩器也是 XML 感知的压缩器。根据它们如何对 XML 文档的结构和数据部分进行编码.

这里有一篇很详细介绍XML压缩技术的文章,可供参考:
http://www.ibm.com/developerworks/cn/xml/x-datacompression/