在一个 Sping Boot 2.7.7 application using *jackson-databind,jackson-dataformat-xml and jackson-datatype-jsr 310 * 我想生成这个带有命名空间的XML,更重要的是,前缀n1(必须是这个):
<?xml version="1.0" encoding="ASCII" ?>
<n1:EventMessage
xmlns:n1="http://we.com/2016/path/Types">
<n1:Header>
<n1:EventID>eventid</n1:EventID>
<n1:EventTime>eventTime</n1:EventTime>
</n1:Header>
</n1:EventMessage>
为此,我有两个POJO:
@JacksonXmlRootElement(localName = "EventMessage", namespace = "http://we.com/2016/path/Types")
public class EventMessage {
@XmlElement(name = "Header")
private Header header;
}
public class Header {
@XmlElement(name = "EventID")
private String eventId;
@XmlElement(name = "EventTime")
private String eventTime;
并尝试生成:
XmlMapper mapper = new XmlMapper();
mapper.writeValueAsString(eventMessage);
我得到的是
<?xml version="1.0" encoding="ASCII" ?>
<EventMessage
xmlns="http://we.com/2016/path/Types">
<Header>
<EventID>eventid</EventID>
<EventTime>eventTime</EventTime>
</Header>
</EventMessage>
如何添加 n1: 前缀并将 :n1 添加到xmlns?
1条答案
按热度按时间qzlgjiam1#
我不认为你可以用
namespace
属性来描述它。它需要是自定义元素xmlns:n1
,而不是命名空间