¿Cuál es el análogo de Java de la serialización XML de .NET?
java
xml
serialization
Dmitry Shechtman
fuente
fuente
Respuestas:
Respuesta de 2008 La API de Java "oficial" para esto ahora es JAXB - API de Java para enlaces XML. Consulte el tutorial de Oracle . La implementación de referencia se encuentra en http://jaxb.java.net/
Actualización de 2018 Tenga en cuenta que los módulos Java EE y CORBA están obsoletos en SE en JDK9 y se eliminarán de SE en JDK11 . Por lo tanto, para usar JAXB, deberá estar en su entorno de clase empresarial existente incluido en su servidor de aplicaciones, por ejemplo, o deberá traerlo manualmente.
fuente
XStream es bastante bueno para serializar objetos a XML sin mucha configuración y dinero. (está bajo licencia BSD).
Lo usamos en uno de nuestros proyectos para reemplazar la antigua serialización de Java y funcionó casi de inmediato.
fuente
Proyecto de "serialización XML simple"
Es posible que desee ver el proyecto de serialización XML simple . Es lo más parecido que he encontrado a System.Xml.Serialization en .Net.
fuente
JAXB es parte de la versión 1.6+ de la edición estándar de JDK. Así es
FREE
y no hay bibliotecas adicionales para descargar y administrar. Puede encontrar un ejemplo simple aquíXStream parece estar muerto. La última actualización fue el 6 de diciembre de 2008.
Simple
Parece tan fácil y simple como JAXB pero no pude encontrar ninguna información de licencia para evaluarlo para uso empresarial.fuente
Cabe mencionar que desde la versión 1.4, Java tenía las clases java.beans.XMLEncoder y java.beans.XMLDecoder. Estas clases realizan codificación XML, que es al menos muy comparable a la serialización XML y, en algunas circunstancias, puede funcionar por usted.
Si su clase se apega a la especificación JavaBeans para sus captadores y definidores, este método es sencillo de usar y no necesita un esquema. Con las siguientes advertencias:
Por ejemplo, tome la siguiente declaración:
Ejecutando este código:
Resultaría en el siguiente archivo:
fuente
java.beans.XMLDecoder
con datos proporcionados por el usuario puede introducir vulnerabilidades de ejecución de código arbitrario en su código.XMLBeans funciona muy bien si tiene un esquema para su XML. Crea objetos Java para el esquema y crea métodos de análisis fáciles de usar.
fuente
Si está hablando de la serialización XML automática de objetos, consulte Castor :
fuente
Por lo general, uso jaxb o XMLBeans si necesito crear objetos serializables a XML. Ahora, puedo ver que XStream podría ser muy útil ya que no es intrusivo y tiene una API realmente simple. Jugaré con él pronto y probablemente lo usaré. El único inconveniente que noté es que no puedo crear la identificación del objeto por mi cuenta para referencias cruzadas.
@Barak Schiller ¡
Gracias por publicar el enlace a XStream!
fuente
No olvide JiBX .
fuente
si desea una solución estructurada (como ORM), JAXB2 es una buena solución.
Si desea una serialización como DOT NET, puede usar la persistencia a largo plazo de los componentes de JavaBeans
La elección depende del uso de la serialización.
fuente
fuente