php小编苹果在本文将向您介绍如何将xml重复标记映射到java对象。xml是一种常用的数据交换格式,而java对象是我们在编程中经常使用的数据结构。将xml重复标记映射到java对象可以帮助我们更方便地处理和操作数据。本文将为您详细解析这个过程,并提供实际示例来帮助您更好地理解。让我们一起来探索这个有趣且实用的主题吧!
问题内容
我有下一个 xml:
1234 3 2023-12-13t00:05:00 2023-12-14t00:05:00
我想将他们的数据映射到以下对象:
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 fechaenvio;
要将 xml 数据映射到对象,请执行以下操作:
立即学习“Java免费学习笔记(深入)”;
ListlistaCabeceras = new ArrayList (); 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 版本,他们目前不让我使用更高版本
MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plan Old Java Objects,普通的 Java 对象)映射成数据库中的记录。有需要的朋友可以下载看看
谢谢。
将 xml 重复标记映射到 java 对象
解决方法
你可以这样做:
node datosnode = element.getelementsbytagname("datos").item(0);
element elementdatos = (element) datosnode;
nodelist fechaenviolist = elementdatos.getelementsbytagname("fechaenvio");
list 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();










