Red de conocimiento informático - Material del sitio web - Cómo convertir contenido XML a formato Java

Cómo convertir contenido XML a formato Java

Utilice XStream para completar el intercambio de clases de Java a XML.

El siguiente código implementa las siguientes 4 funciones básicas:

1. Convertir el tipo de objeto a tipo xml e imprimirlo en la consola.

2. tipo xml Convertir a tipo de objeto e imprimir en la consola

3. Convertir el tipo de objeto a tipo xml y escribir en un archivo XML

4. Leer el archivo XML y cargarlo en el tipo de objeto correspondiente

p>

============================================== = =========

1. Cargue el paquete jar xstream-1.4.2.jar requerido para XStream

xpp3_min-1.1.4c.jar

xmlpull-1.1.3.1.jar

2. Cree la clase de entidad User.java

paquete com.entity

/** <. /p >

* Clase de entidad

*/

Clase pública Usuario {

Nombre de usuario de cadena privada

Palabra de contraseña de cadena privada; ;

Cadena privada Hora registrada

Usuario público() { }

this.hora registrada = Hora registrada

}

public String getUserName() {

return userName;

}

public void setUserName(String nombre de usuario) {

this .userName = nombre de usuario

}

public String getPassWord() {

devolver contraseña

}

public void setPassWord(String contraseña) {

this.passWord =

}

public String getRegisteredTime() {

return hora registrada

}

public void setRegisteredTime(String hora registrada) {

this.registeredTime = hora registrada

}

}

3. Clase de implementación de función de escritura

paquete com.switcher

importar java.io.FileInputStream; >importar java.io.FileNotFoundException

importar java.io.FileOutputStream

importar java.text.SimpleDateForms

3.

importar java.text.SimpleDateFormat;

importar java.util.P>

importar com.entity.User

importar com.thinkworks.xstream; .XStream;

/**

*

*

* Utilice XStream para serializar la mayoría de los objetos Java sin ningún mapeo.

*

* *

* Utilice XStream para serializar la mayoría de los objetos Java sin ningún mapeo.

* El nombre del objeto se convierte en el nombre del elemento en el XML generado y la cadena de la clase constituye el contenido del elemento en el XML.

* Las clases serializadas usando XStream no necesitan implementar la interfaz Serializable.

* XStream es una herramienta de serialización, no una herramienta de enlace de datos.

* Las clases no se pueden generar a partir de archivos XML o de definición de esquema XML (XSD).

*/

clase pública SwitchXML {

/*

* A XStream no le importa que los campos de la clase de serialización/deserialización Son sexo visible.

* Serializar/deserializar campos de una clase no requiere métodos getter y setter.

* Las clases de serialización/deserialización no requieren un constructor predeterminado.

*/

XStream privado xStream = nuevo XStream();

Cadena privada xmlPath = "D:/userdata.xml"; p>/ 1.out.println("obj -> xml");

String xml = xStream.toXML(usuario);

System.out.println(xml);

return xml;

}

// 2. xml ->obj (convierte el tipo xml en tipo de objeto e imprime)

public void printObj(String xml) {

System.out.printObj(String xml) {

System.out.printObj(String xml)println("xml -> obj" )

Usuario u = (Usuario) xStream.fromXML(xml);

System.out.println(u.getUserName() + " " + u.getPassWord() + " " + u.getRegisteredTime());

}

}

// 3. Convierta el tipo de objeto a tipo xml y escríbalo en un archivo XML (otro También hay formatos disponibles, como archivos txt)

public void writeXML( Usuario usuario) {

prueba {

FileOutputStream fs = new FileOutputStream(xmlPath);

xStream.toXML(usuario, fs);

} captura ( FileNotFoundException e) {

e.printStackTrace()

}

}

}

}

// 4. Lea el archivo XML y cárguelo en el objeto correspondiente en tipo

lector vacío públicoXML() {

Usuario(xmlPath);

xStream.toXML(user.fs); (usuario.fs);

xStream.toXML(usuario.fs);

xStream.toXML(usuario.fs)fs

} captura ( p>

Usuario usuario = nuevo Usuario();

FileInputStream fis = null

prueba {

fis = nuevo FileInputStream( xmlPath);

} captura (FileNotFoundException e) {

e.printStackTrace()

}

}

xStream.fromXML(fis, usuario);

//Imprimir información del objeto

System.out.out.println(user.getUserName() + "- " + usuario .getPassWord() + "-"

>

+ user.getRegisteredTime());

}

public static void main(String[] args) {

// Nombre de usuario< / p>

String nombre de usuario = "admin";

// Contraseña

String contraseña = "admin"

// Hora de registro

// Contraseña p>

Fecha ahora = nueva fecha();

Formato SimpleDateFormat = nuevo SimpleDateFormat("aaaaMMddHHmmss");

Cadena hora registrada = formato. format(now);

p>

Usuario usuario = nuevo Usuario(nombre de usuario, contraseña, tiempo de registro)

SwitchXML switchXML = new SwitchXML(); p>// 1. Convierta el tipo de objeto a tipo xml e imprima en la consola

String xml = switchXML.printXML(user); ---------- -- --------");

// 2. Convierta el tipo xml en tipo de objeto e imprima en la consola

switchXML.printObj(xml);

p>

System.out.println("---------------------"); /p>

// 3. Cambiar el objeto Convierta el tipo a xml y escriba en el archivo XML

switchXML.writeXML(user)

System.out.println; ("------------- --------");

// 4. Lea el archivo XML y cárguelo en el tipo de objeto correspondiente

switchXML.readerXML();

}

// 5.

}