gpt4 book ai didi

java - jaxb 实体打印为 xml

转载 作者:搜寻专家 更新时间:2023-10-31 08:05:43 25 4
gpt4 key购买 nike

我有一个类,我们称它为 User,用 @XmlRootElement 注释,有一些属性(名字、姓氏等)。

我将此类用于 REST 操作,如 application/xml

客户端将 POST User 类,所以我想将值保留在日志中。

jaxb 中是否有任何方法可以将此对象打印为 xml

例如:

log.info("Customers sent: "+user.whichMethod());

应该产生这个输出:

Customer sent: 
<user> <name>cristi</name> <surname>kevin</surname> </user>

谢谢。

最佳答案

您可以将此作为您的端点可访问的通用方法。

public String toXml(JAXBElement element) {
try {
JAXBContext jc = JAXBContext.newInstance(element.getValue().getClass());
Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);

ByteArrayOutputStream baos = new ByteArrayOutputStream();
marshaller.marshal(element, baos);
return baos.toString();
} catch (Exception e) {
e.printStackTrace();
}
return "";
}

关于java - jaxb 实体打印为 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2461232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com