Java ME 的最佳二进制/普通 XML 实现是啥?

Posted

技术标签:

【中文标题】Java ME 的最佳二进制/普通 XML 实现是啥?【英文标题】:What is the Best binary/ordinary XML implementation for Java ME?Java ME 的最佳二进制/普通 XML 实现是什么? 【发布时间】:2008-10-01 12:20:48 【问题描述】:

在 Izb 关于Best binary XML format for JavaME 的问题之后,我正在寻找二进制 XML 类格式或纯 XML 的实现。我对这种实施的衡量标准,首先最重要的是:

    支持的手机。一个基本的JTWI 电话应该能够运行它。 它应该是经过验证或开源的,所以我可以对其进行验证。 内存占用小。 快。 易于在服务器端使用。

【问题讨论】:

【参考方案1】:

看看 kXML - http://kxml.objectweb.org/。它支持 WBXML,内存占用少,但对错误不是很严格。

【讨论】:

【参考方案2】:

W3C 对二进制 XML 技术进行了广泛而开放的分析,其中包括 9 个月的基准测试,以确定哪些最适合他们的use cases and requirements。基于此分析,他们选择了一种格式为single standard for the web。

他们选择的技术称为“高效 XML”,而不是另一位评论者所报告的 FastInfoset。 W3C 发现 FastInfoset 的用例没有达到足够的紧凑性和通用性。您可以在 W3C 的公共邮件列表http://lists.w3.org/Archives/Public/public-exi/2009Dec/0001.html 上找到有关此决定的简短说明。您可以从http://www.agiledelta.com/product_efxsdk.html 找到适用于移动设备和服务器平台的 W3C EXI 标准的低占用空间、快速实现。

【讨论】:

【参考方案3】:

您可以使用NanoXML for J2ME。它运行良好,我在生产环境中从未遇到过任何问题。请注意,它是非验证的。

杨格

【讨论】:

【参考方案4】:

W3C 为 XML 定义了一种二进制编码,称为 Fast InfoSet,但它针对大容量 Web 服务而不是嵌入式设备进行了优化,我认为没有适合您的轻量快速实现。

如果您想坚持使用纯 XML,并且需要 DOM 实现,那么请使用 XOM (http://xom.nu)。它很容易成为占用空间最小的 DOM,而且速度非常快。

但如果您确实需要减少占用空间,则需要使用非 DOM API,例如 SAX 或 STAX,但工作量要大得多。

【讨论】:

【参考方案5】:

感谢所有回答的人,但这就是我最终所做的-

有一篇关于 Parsing XML in J2ME here 的好文档。那里有一张桌子,上面有一些替代品。现在我选择了 AXMLP 并将其用于 xml-push 解析。

【讨论】:

以上是关于Java ME 的最佳二进制/普通 XML 实现是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Apache Avro 序列化与反序列化 (Java 实现)

如何将 XML 转换为具有二进制数据内容的 Json

在 Java ME/J2ME 中生成随机十六进制字符串(长度为 50)

如何在 j2me 中创建保存和读取 XML 文件

在 Java 中为 XML 编码文本数据的最佳方法是啥?

在 Java 应用程序中读取 XML 文件的最佳/最简单方法是啥? [关闭]