У меня есть какой-то XML, который представляет собой один уровень с атрибутом, который я не могу получить, чтобы перейти от XML к объекту:
<?xml version="1.0" encoding="utf-8"?>
<response status="426">
You can add 15 clients with your current plan.
</response>
Этот xml представлен как POJO
public class ClientGenericResponse {
String response;
String status;
ClientID client_id;
public String getResponse() {
return response;
}
public void setResponse(String response) {
this.response = response;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public ClientID getClient_id() {
return client_id;
}
public void setClient_id(ClientID clientId) {
client_id = clientId;
}
Используя этот код, я могу заставить XStream найти атрибут 'status', но не могу найти текстовое значение узла ответа.
// Map response object
xstream = new XStream();
xstream.alias("response", ClientGenericResponse.class);
xstream.useAttributeFor(ClientGenericResponse.class, "status");
xstream.aliasField("status", ClientGenericResponse.class, "status");
// Send request (this retrieves the xml above)
String xmlResponse = Utility.sendRequest(xml, true);
ClientGenericResponse response = (ClientGenericResponse)xstream.fromXML(xmlResponse);
В этом случае объект ответа имеет заполненный статусно не текст.
Кажется довольно простым, и я могу заставить полностью перемещаться объекты вперед и назад, когда есть теги внутри корневого узла, но для этого случая с одним тегом я не могу получить содержимое.
Я вижу ссылки на "смешанный xml, не поддерживаемый", означает ли xml вверху "смешанный"?