У меня действительно странный XML из службы REST, который я не могу изменить.
<Response>
<ip-addresses>
<ip-addresses>ip1</ip-addresses>
<ip-addresses>ip2</ip-addresses>
</ip-addresses>
</Response>
Очевидно, что это ошибка, которой должен быть внутренний тег, а не -. Но я ничего не могу с этим поделать, мне просто нужно взять и разобрать. Есть ли в любом случае Jaxb может помочь в этой странной ситуации?
Я кодировал класс модели: IpAddress. java только с 1 строкой внутри:
public class IPAddress {
public IPAddress() {
}
public IPAddress(String ipAddress) {
super();
this.ipAddress = ipAddress;
}
private String ipAddress = null;
@XmlElement(name = "ip-address")
public String getIpAddress() {
return ipAddress;
}
public void setIpAddress(String ipAddress) {
this.ipAddress = ipAddress;
}
}
Также есть класс ответа, подобный этому:
public class Response {
public Response() {
}
public Response(List<IPAddress> ipAddress){
this.ipAddress = ipAddress;
}
private List<IPAddress> ipAddress = null;
@XmlElement(name = "ip-address")
public List<IPAddress> getIpAddress() {
return ipAddress;
}
public void setIpAddress(List<IPAddress> ipAddress) {
this.ipAddress = ipAddress;
}
}
Когда Я запускаю его, как ни странно, код останавливается (в отладке) внутри метода setter класса IpAddress и считывает значения (ip1, ip2). И затем вызывается установщик класса Response, но значение, которое нужно установить (List ipAddress), равно нулю.
Любые идеи о том, как закодировать это, чтобы список IP-адресов с учетом XML не могли быть изменены? Спасибо,