[英]Jaxb returning null values
我有以下XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<profile>
<registrations>
<registration>
<call-id>test</call-id>
<user>test</user>
<contact>test;</contact>
<agent>test</agent>
<status>test</status>
<host>test</host>
<network-ip>test</network-ip>
<network-port>1234</network-port>
<sip-auth-user>test</sip-auth-user>
<sip-auth-realm>test</sip-auth-realm>
<mwi-account>test</mwi-account>
</registration>
</registrations>
</profile>
還有兩個模型類:
@XmlRootElement(name = "profile")
@XmlAccessorType(XmlAccessType.FIELD)
public class Parent implements IMarker {
@XmlElementWrapper(name = "registrations")
@XmlElement(name = "registration")
private List<Registration> registrations;
public List<Registration> getRegistrations() {
return registrations;
}
public void setRegistrations(List<Registration> registrations) {
this.registrations = registrations;
}
}
@XmlAccessorType(XmlAccessType.FIELD)
public class Registration {
@XmlAttribute(name = "user")
private String user;
@XmlAttribute(name = "contact")
private String contact;
@XmlAttribute(name = "agent")
private String agent;
@XmlAttribute(name = "status")
private String status;
@XmlAttribute(name = "host")
private String host;
@XmlAttribute(name = "network-ip")
private String networkIp;
@XmlAttribute(name = "network-port")
private Integer networkPort;
@XmlAttribute(name = "sip-auth-user")
private String sipAuthUser;
@XmlAttribute(name = "sip-auth-realm")
private String sipAuthRealm;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getContact() {
return contact;
}
public void setContact(String contact) {
this.contact = contact;
}
public String getAgent() {
return agent;
}
public void setAgent(String agent) {
this.agent = agent;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getNetworkIp() {
return networkIp;
}
public void setNetworkIp(String networkIp) {
this.networkIp = networkIp;
}
public Integer getNetworkPort() {
return networkPort;
}
public void setNetworkPort(Integer networkPort) {
this.networkPort = networkPort;
}
public String getSipAuthUser() {
return sipAuthUser;
}
public void setSipAuthUser(String sipAuthUser) {
this.sipAuthUser = sipAuthUser;
}
public String getSipAuthRealm() {
return sipAuthRealm;
}
public void setSipAuthRealm(String sipAuthRealm) {
this.sipAuthRealm = sipAuthRealm;
}
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
}
IMarker只是沒有任何方法的標記接口。 當我解組指定的XML時-所有注冊字段均為空。 有人可以解釋這種現象嗎?如何正確解組此XML?
您會得到空值,因為注冊標記元素中沒有屬性,所有元素都是元素,並且已將所有屬性映射為@XmlAttribute批注,因此請對屬性@XmlElement進行注釋
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.