【发布时间】:2011-05-15 06:26:56
【问题描述】:
我的要求是在开始解析之前将xml文件压缩成二进制格式,传输并解压(速度很快)。
有相当多的二进制 xml 协议和工具可用。与其他人相比,我发现 EXI(高效的 xml 交换)更好。试用了它的开源版本 Exificient,发现不错。
我听说过 google protocol buffers 和 facebook's thrift,谁能告诉我这两个能否完成我正在寻找的工作?
或者,如果我应该寻找比 EXI 更好的东西,请告诉我。
另外,与 DOM、SAX 和 Stax 相比,有一个很好的 XML 解析器 VTD-XML(我自己没有尝试过,只是用谷歌搜索并阅读了一些文章)可以实现更好的解析性能。
我想要两全其美,最好的压缩 + 最好的解析性能,有什么建议吗?
关于 EXI 的另一件事,EXI 怎么能声称解析解码的 XML 文件速度很快?因为它正在被 DOM、SAX 或 Stax 解析?如果有另一个二进制解析器用于读取解码版本,我会相信这是真的。如果我错了,请纠正我。
另外,EXI 格式有什么好的 C++ 开源实现吗? EXIficient 提供了 java 版本,但我找不到 C++ 开源实现?
Agile delta 有一个,但那是商业的。
【问题讨论】:
标签: xml-serialization binary protocol-buffers thrift exi