我的要求是在开始解析之前将 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++ 开源实现?
有一个敏捷三角洲,但那是商业的。