editor php Apple akan memperkenalkan anda kepada cara memetakan tag ulangan XML ke objek Java dalam artikel ini. XML ialah format pertukaran data yang biasa digunakan, dan objek Java ialah struktur data yang sering kita gunakan dalam pengaturcaraan. Memetakan tag ulangan XML ke objek Java boleh membantu kami memproses dan memanipulasi data dengan lebih mudah. Artikel ini akan memecahkan proses untuk anda secara terperinci dan memberikan contoh praktikal untuk membantu anda memahami dengan lebih baik. Mari kita terokai topik yang menyeronokkan dan praktikal ini bersama-sama!
Saya ada xml seterusnya:
<mensajews> <respuestagetcabecerastype> <cabeceras> <cabecera> <id>1234</id> <tipomensaje>3</tipomensaje> <datos> <fechaenvio>2023-12-13t00:05:00</fechaenvio> <fechaenvio>2023-12-14t00:05:00</fechaenvio> </datos> </cabecera> </cabeceras> </respuestagetcabecerastype> </mensajews>
Saya ingin memetakan data mereka ke objek berikut:
public class cabecera implements serializable { /** * */ private static final long serialversionuid = -865317642824095952l; private int id; private int tipomensaje; private datosrecepcion datos;
datosrecepcion ialah kelas dengan pembolehubah berikut:
public class datosrecepcion implements serializable { /** * */ private static final long serialversionuid = -6703565058845907875l; private list<string> fechaenvio;
Untuk memetakan data xml ke objek, lakukan perkara berikut:
List<Cabecera> listaCabeceras = new ArrayList<Cabecera>(); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse(new InputSource(new StringReader(xml.toString()))); System.out.println("Root element: " + document.getDocumentElement().getNodeName()); NodeList nList = document.getElementsByTagName("cabecera"); for(int i = 0; i < nList.getLength(); i++) { Node nNode = nList.item(i); System.out.println("Current Element: " + nNode.getNodeName()); Element element = (Element) nNode; System.out.println("id: " + element.getElementsByTagName("id").item(0).getTextContent()); System.out.println("Tipo de mensaje: " + element.getElementsByTagName("tipoMensaje").item(0).getTextContent()); System.out.println("Fecha de Envio: " + element.getElementsByTagName("fechaEnvio").item(0).getTextContent()); Cabecera cabecera = new Cabecera(); cabecera.setId(Integer.parseInt(element.getElementsByTagName("id").item(0).getTextContent())); cabecera.setTipoMensaje(Integer.parseInt(element.getElementsByTagName("tipoMensaje").item(0).getTextContent())); //cabecera.getDatos().setFechaEnvio(element.getElementsByTagName("fechaEnvio").item(0).getTextContent()); listaCabeceras.add(cabecera);
Saya ingin tahu cara memetakan tag berulang seperti fechaenvio ke objek java saya. Saya menggunakan versi java 8 dan pada masa ini mereka tidak membenarkan saya menggunakan versi yang lebih tinggi
Terima kasih.
Peta tag ulangan xml ke objek java
Anda boleh melakukan ini:
node datosnode = element.getelementsbytagname("datos").item(0); element elementdatos = (element) datosnode; nodelist fechaenviolist = elementdatos.getelementsbytagname("fechaenvio"); list<string> data = new arraylist<>(); for (i = 0; i < fechaenviolist.getlength(); i++) { data.add(fechaenviolist.item(i).gettextcontent()); } cabecera.getdatos().setfechaenvio(data); listacabeceras.add(cabecera);
Dalam kelas cabecera
private DatosRecepcion datos = new DatosRecepcion();
Atas ialah kandungan terperinci Memetakan tag ulangan XML ke objek Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!