XML-如何对 XML 进行压缩,现在最先进的技术有哪些?
XML 通常被称为自我描述的数据,因为它被设计为对文档中的每个记录使用重复的模式。这种自我描述功能为 XML 提供了巨大的灵活性,但是也引入了 XML 文档过于冗长的问题,这会造成文档较大。由于 XML 的使用率在不断增长,而且大型 XML 文档信息库目前也非常普遍,所以对高效 XML 压缩工具的需求非常大,所以现在想问下大家 对xml进行压缩先进的技术有哪些?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(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
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/