我有一个webservice,它从数据库中获取详细信息并返回到调用系统。特定标记的输出可以有多个项目(父标记将有多个项目)但是它会一次又一次地返回相同的字段。可以有人请帮帮忙。
当前输出
<emergencyEmails >raed@gmail.com</emergencyEmails >
<emergencyEmails >rad@gmail.com</emergencyEmails >
<emergencyEmails >read@gmail.com</emergencyEmails >
我希望它像这样
<emergencyEmails >
<item>raed@gmail.com</item>
<item>rad@gmail.com</item>
<item>read@gmail.com</item>
</emergencyEmails >
电子邮件字段定义为字符串数组
package com.business.services;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
@XmlType(propOrder={"companyId", "emergencyEmails", "language", "normalEmails", "timezone"})
public class ProfileDetails
{
private String companyId = null;
private String[] emergencyEmails = null;
private String language = null;
public String getCompanyId()
{
return this.companyId;
}
public void setCompanyId(String companyId)
{
this.companyId = companyId;
}
public String[] getEmergencyEmails()
{
return this.emergencyEmails;
}
public void setEmergencyEmails(String[] emergencyEmails)
{
this.emergencyEmails = emergencyEmails;
}
public String getLanguage()
{
return this.language;
}
public void setLanguage(String language)
{
this.language = language;
}
}
答案 0 :(得分:0)
您可以使用以下注释将数组“包装”到元素中:
@XmlElementWrapper(name="wrapper_tag_name")
@XmlElement(name="element_tag_name")
如您所见, @XmlElementWrapper 表示包装元素名称,而 @XmlElement 指定每封电子邮件的实际标记名称。
现在,如果您为电子邮件注释getter方法,例如
@XmlElementWrapper(name="emergencyEmails")
@XmlElement(name="item")
public String[] getEmergencyEmails() {
return emergencyEmails;
}
你应该没事。 注释字段本身的其他选项,在这种情况下,类的 @XmlAccessorType(XmlAccessType.FIELD)可能是一个解决方案