JAXB注释@XmlElement(NAME = “的ElementName”)不与XML元素名称结合
我的Spring MVC的Web服务代码如下。JAXB注释@XmlElement(NAME = “的ElementName”)不与XML元素名称结合
模型类
@XmlRootElement(name="wrappedSecretData")
public class VendorData {
private long lKeyId;
@XmlElement(name="keyId")
public long getlKeyId() {
return lKeyId;
}
public void setlKeyId(long lKeyId) {
this.lKeyId = lKeyId;
}
}
控制器方法
@RequestMapping(value = "/vendor", method = RequestMethod.POST)
public String addVendor(@RequestBody VendorData vendorData) {
/*Checking recieved value*/
System.out.println(vendorData.getlKeyId());//**Returning 0 value **
return "Success";
}
XML请求体为Web服务
<wrappedVendorSecretsMetadata>
<keyId>1</keyId>
</wrappedVendorSecretsMetadata>
我得到的lKeyId(粗体评论) “0” 值。 我在哪里做错了。 请提供给xml元素结合使用@XmlElement(名称=“KEYID”)注释到对象构件的正确方法。
我认为你需要的@XmlElement只在变量声明。
我在变量声明中使用了@XmlElement,但仍然无法正常工作。 –
试试这个:
@XmlRootElement(name="wrappedVendorSecretsMetadata")
@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)
public class VendorData {
private long lKeyId;
public VendorData(){
}
@XmlElement(name="keyId")
public long getlKeyId() {
return lKeyId;
}
public void setlKeyId(long lKeyId) {
this.lKeyId = lKeyId;
}
}
我尝试同样的解决方案,但还没有取keyid的元素名称从XML到lKeyId类成员的名字。在lKeyId中获得0值。请帮助... –
尝试将'long'更改为'长' –
仍然无法正常工作 –
解组的示例XML与你的'VendorData'类为我工作正常(包括'lKeyId = 1')。所以,可能问题出在你没有显示的Java代码部分。我的网络service.Please的 –
我加入了完整的代码帮我在哪里,我在做我wrong.I在解组it.How越来越问题我解组? –