我必须动态地传递根元素的命名空间,同时使用jaxb进行编组(JAXB 2.1.10 - JDK 6)。我将使用生成的xml来调用不同的webservices,这些webservices使用不同的命名空间但是相同的输入xml。 这是我的样本jaxb注释类.....指导我的宝贵意见。
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"taskName",
"taskType"
})
@XmlRootElement(name = "TaskRequest", namespace = "ABC")
public class TaskRequest {
@XmlElement(name = "TaskName", required = true, namespace = "XYZ")
protected String taskName;
@XmlElement(name = "TaskType", required = true, namespace = "XYZ")
protected String taskType;
public String getTaskName() {
return taskName;
}
public void setTaskName(String value) {
this.taskName = value;
}
public String getTaskType() {
return taskType;
}
public void setTaskType(String value) {
this.taskType = value;
}
}
命名空间“ABC”需要动态传递不同的值。
答案 0 :(得分:2)
您可以将根对象包装在JAXBElement
的实例中,以提供备用名称和命名空间信息。