Rumah > Java > teks badan

Memetakan tag ulangan XML ke objek Java

WBOY
Lepaskan: 2024-02-13 18:20:09
ke hadapan
706 orang telah melayarinya

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!

Kandungan soalan

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>
Salin selepas log masuk

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;
Salin selepas log masuk

datosrecepcion ialah kelas dengan pembolehubah berikut:

public class datosrecepcion implements serializable {

    /**
     * 
     */
    private static final long serialversionuid = -6703565058845907875l;
    
    private list<string> fechaenvio;
Salin selepas log masuk

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);
Salin selepas log masuk

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

Penyelesaian

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);
Salin selepas log masuk

Dalam kelas cabecera

private DatosRecepcion datos = new DatosRecepcion();
Salin selepas log masuk

Atas ialah kandungan terperinci Memetakan tag ulangan XML ke objek Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan