將 XML 重複標記對應到 Java 對象
php小編蘋果在本文將向您介紹如何將XML重複標記對應到Java物件。 XML是一種常用的資料交換格式,而Java物件是我們在程式設計中經常使用的資料結構。將XML重複標記對應到Java物件可以幫助我們更方便地處理和操作資料。本文將為您詳細解析這個過程,並提供實際範例來幫助您更好地理解。讓我們一起來探索這個有趣又實用的主題吧!
問題內容
我有下一個 xml:
<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>
登入後複製
我想將他們的資料映射到以下物件:
public class cabecera implements serializable { /** * */ private static final long serialversionuid = -865317642824095952l; private int id; private int tipomensaje; private datosrecepcion datos;
登入後複製
datosrecepcion 是一個具有以下變數的類別:
public class datosrecepcion implements serializable { /** * */ private static final long serialversionuid = -6703565058845907875l; private list<string> fechaenvio;
登入後複製
要將 xml 資料對應到對象,請執行下列操作:
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);
登入後複製
我想知道如何將 fechaenvio 等重複標籤對應到我的 java 物件。我使用 java 8 版本,他們目前不讓我使用更高版本
謝謝。
將 xml 重複標記對應到 java 物件
解決方法
你可以這樣做:
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);
登入後複製
在 cabecera 類別
private DatosRecepcion datos = new DatosRecepcion();
登入後複製
以上是將 XML 重複標記對應到 Java 對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
<🎜>:種植花園 - 完整的突變指南
3 週前
By DDD
<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
如何修復KB5055612無法在Windows 10中安裝?
3 週前
By DDD
北端:融合系統,解釋
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)