¿Cuál es la mejor implementación de XML binario / ordinario para Java ME?
Pregunta
Siguiendo la pregunta de Izb sobre El mejor formato XML binario para JavaME , I ' Estoy buscando una implementación para formatos binarios de tipo XML o simplemente para XML simple. Mis métricas para dicha implementación, por más importantes primero, son:
- Teléfonos compatibles. Un teléfono JTWI básico debería poder ejecutarlo.
- Debería ser verificado o de código abierto, para que pueda ser verificado.
- Huella de memoria pequeña.
- Rápido.
- Fácil de usar en el lado del servidor.
Solución
Puede usar NanoXML para J2ME . Funciona bien y nunca he tenido ningún problema con él en un entorno de producción. Tenga en cuenta que no está validando.
IanG
Otros consejos
Eche un vistazo a kXML - http://kxml.objectweb.org/ . Es compatible con WBXML y tiene una huella de memoria baja, pero no es muy estricto con los errores.
El W3C realizó un análisis extenso y abierto de las tecnologías XML binarias, incluidos 9 meses de evaluación comparativa para determinar cuál es el más pequeño, más rápido y mejor para su casos de uso y requisitos . Basados ??en este análisis, seleccionaron un formato para ser el estándar único para la web .
La tecnología que seleccionaron se llama " Efficient XML " ;, no FastInfoset como informó otro comentarista. El W3C encontró que FastInfoset no alcanzó niveles de compacidad y generalidad suficientes para sus casos de uso. Puede encontrar una breve descripción de esta decisión en las listas de correo públicas de W3C en http://lists.w3.org/Archives/Public/public-exi/2009Dec/0001.html . Puede encontrar implementaciones rápidas y de baja huella del estándar W3C EXI para dispositivos móviles y plataformas de servidor en http: / /www.agiledelta.com/product_efxsdk.html .
El W3C definió una codificación binaria para XML, se llama Fast InfoSet, pero está optimizado para servicios web de alto volumen, en lugar de dispositivos integrados, y no creo que haya implementaciones ligeras y rápidas adecuadas para usted.
Si desea mantener un XML simple y necesita una implementación de DOM, vaya con XOM ( http: // xom. nu ). Es fácilmente el DOM con la huella más pequeña, y es muy rápido.
Pero si realmente necesita reducir su huella, entonces necesita usar una API que no sea DOM como SAX o STAX, pero eso es mucho más trabajo.
Gracias a todos los que respondieron, pero esto es lo que eventualmente hice -
Hay un buen documento sobre el análisis de XML en J2ME aquí . Hay una mesa allí con algunas alternativas. Por ahora opté por ir a ASXMLP y usarlo para el análisis de empuje xml.