deserializar convert java xml serialization

java - deserializar - spring boot convert object to xml string



Manera simple de hacer Xml en Java (11)

Algunos de los enfoques más populares a considerar:

Java Archictecture para enlace XML

JAXB es una especificación para un enlace XML estándar. Si ya tiene un XSD, puede generar sus clases de Java para usted, y luego todo lo que queda es usar una API estándar para ordenar / desasignar.

  • Implementación de referencia de Glassfish
  • Implementación de Apache JaxMe

Otros enfoques vinculantes

Al igual que con JAXB, estos enfoques utilizan configuraciones de enlace basadas en XML. Pueden proporcionar un control más detallado del proceso de desmaterialización.

Tira tu propio

¿Hay una manera simple de leer y escribir Xml en Java?

He usado un analizador SAX antes, pero recuerdo que no es intuitivo, he visto un par de tutoriales para JAXB y parece complicado.

No sé si me he echado a perder por la clase XmlDocument de C #, pero todo lo que quiero hacer es crear un documento Xml que represente un conjunto de clases y sus miembros (algunos son atributos, algunos son elementos).

Me gustaría ver la serialización, pero el XML tiene que tener el mismo formato que el de la aplicación de CA, que soy ingeniería inversa en Java.


Ciertamente usaría XOM si desea un enfoque tipo DOM y SAX (www.sax.org) si desea un enfoque tipo SAX. Estuve involucrado en el desarrollo temprano de XML y SAX se desarrolló como un enfoque orientado a eventos, que es útil para algunas aplicaciones. DOM / XOM y SAX son complementarios; a veces uno necesita uno, a veces el otro. Si desea construir objetos sobre la marcha en lugar de leer todo en la memoria, use SAX. Si está contento de leer todo y luego procesarlo, use XOM.

Pasé demasiado tiempo tratando de hacer funcionar el W3C DOM: IMO está mal definido con demasiadas formas de hacer algunas cosas y no lo suficiente para otras. Cuando llegó XOM, revolucionó mi productividad.

La comunidad de XOM es muy conocedora, enfocada y servicial.



Creo que JAXB solo es complicado si miras ejemplos incorrectos. Específicamente, sí, la forma basada en el esquema puede ser complicada. Pero el código primero, basado en anotaciones es trivialmente fácil.

Otra alternativa fácil es Xstream . Y para casos no vinculantes, StaxMate , que es un complemento para la transmisión de analizadores Stax.


Deberías Xstream un vistazo a Xstream . Hay un tutorial de 2 minutos que es realmente simple . Para obtener el mismo formato, modelaría las clases de la misma manera.


Existe una gran variedad de opciones de procesamiento de XML para Java, aunque a juzgar por la documentación de .NET para XmlDocument , la implementación de DOM de Java es el equivalente más XmlDocument de la caja.

.NET XmlDocument :

Esta clase implementa el Núcleo de Nivel 1 del Modelo de Objetos de Documento (DOM) W3C y el Nivel 2 de DOM de Core.

Documento de Java:

Consulte también la especificación principal del Nivel 3 del Modelo de objetos de documento (DOM).

Código de muestra:

public static void main(String[] args) throws Exception { File xmlFile = new File(".classpath"); // read it DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse(xmlFile); // walk it System.out.println("Node count=" + countNodes(document)); // write it Source source = new DOMSource(document); Result result = new StreamResult(System.out); TransformerFactory transformerFactory = TransformerFactory .newInstance(); Transformer transformer = transformerFactory.newTransformer(); transformer.transform(source, result); } /** Doesn''t count attributes, etc */ private static int countNodes(Node node) { int count = 0; NodeList kids = node.getChildNodes(); count += kids.getLength(); for (int i = 0; i < kids.getLength(); i++) { count += countNodes(kids.item(i)); } return count; }


La forma más simple hasta ahora es MarkupBuilder en Groovy . Piensa en Groovy como una nueva sintaxis para Java. XmlSlurper se puede usar para leer XML.


Recomiendo XOM . Su API es clara e intuitiva.


Si el análisis SAX es obligatorio, JAXP es una buena opción. Prefiero el análisis DOM y el uso de jdom que me parece mucho más fácil.


Si está utilizando jdk 1.4 o más reciente, eche un vistazo a la clase XMLEncoder .


Dom4j es una aplicación sencilla para crear documentos xml en Java.

Document document = DocumentHelper.createDocument(); Element root = document.addElement( "root" ); Element author2 = root.addElement( "author" ) .addAttribute( "name", "Toby" ) .addAttribute( "location", "Germany" ) .addText( "Tobias Rademacher" );