我有一些XML是与我不能从XML转移到对象中的属性单级:XSTREAM解析
<?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,找到“状态”属性,但我似乎无法找到响应节点的文本值。
// 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代表“混合”?
对于比较起见,你可以使用'@ XmlValue'标注为'response'财产JAXB映射这样的情景: //blog.bdoughan.com/2011/06/jaxb-and-complex-types-with-simple.html –