Я хочу преобразовать этот основной тег XML с несколькими внутренними списками:
<statuses>
<status code="201.0000" description="....." severity="information"/>
<status code="200.1077" description="....." severity="information"/>
<status code="200.1077" description="....." severity="information"/>
</statuses>
Я пробовал это:
@XmlRootElement(name = "payment")
@XmlAccessorType(XmlAccessType.FIELD)
public class mainXML {
@XmlElement(name = "statuses")
public List<Statuses> statuses;
....
}
// Внутренний объект
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Statuses {
@XmlElement(name = "status")
private Status status;
.....
}
// Внутренний объект
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Status {
@XmlElement(name = "status")
private String status;
@XmlAttribute
public String code;
@XmlAttribute
public String severity
.........
}
Но я получаю
<statuses>
<status code="500.1072" description="....." severity="warning"/>
</statuses>
Вы знаете, как правильно реализовать несколько тегов status
в основной тег statuses
?
Я получаю ответ, используя WebFlux, и печатаю XML, используя этот код:
//Create JAXB Context
JAXBContext jaxbContext = JAXBContext.newInstance(EnrolCheckResponse.class);
//Create Marshaller
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
//Required formatting??
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
//Print XML String to Console
StringWriter sw = new StringWriter();
//Write XML to StringWriter
jaxbMarshaller.marshal(employee, sw);
//Verify XML Content
String xmlContent = sw.toString();
System.out.println(xmlContent);