У меня очень простой класс с двумя полями: String sourceAddress и int port.
Я хочу, чтобы они отображались на узлах источник / адрес и источник / порт вместо
jaxb по умолчанию sourceAddress и sourcePort.
Поэтому я использую аннотацию MOXy @XmlPath.
Проблема в том, что аннотация просто игнорируется, и я получаю XML-файл "jaxb default":
<szk>
<sourceAddress>test</sourceAddress>
<sourcePort>10000</sourcePort>
</sz>
заранее спасибо за любую помощь
Агостино
import javax.xml.bind.*;
import javax.xml.bind.annotation.*;
import org.eclipse.persistence.jaxb.JAXBContext;
import org.eclipse.persistence.oxm.annotations.XmlPath;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class SZK {
@XmlPath("source/address")
private String sourceAddress;
@XmlPath("source/port")
private int sourcePort;
public static void main (String [] args) throws JAXBException{
SZK k = new SZK();
k.sourceAddress = "test";
k.sourcePort = 10000;
javax.xml.bind.JAXBContext jc = JAXBContext.newInstance(SZK.class);
Marshaller m = jc.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
m.marshal(k, System.out);
}
}