如何在使用JAXB编组Java对象时将xmlns添加到Element中,因此结果应该像
<R>
<A xmlns:p2="test" p2:type="type">
some value
</A>
</R>
我的Java实体类是例如:
@XmlRootElement
public class R {
private String a;
public String getA() {
return a;
}
@XmlElement(name="A")
public void setA(String a) {
this.a = a;
}
}
尝试将命名空间添加到XmlElement中,但结果不符合我的预期。请,任何帮助表示赞赏。
答案 0 :(得分:3)
在您的示例中,type
属性是名称空间限定的。您可以在namespace
注释上设置@XmlAttribute
参数。
<强> - [R 强>
import javax.xml.bind.annotation.*;
@XmlRootElement(name="R")
@XmlAccessorType(XmlAccessType.FIELD)
public class R {
@XmlElement(name="A")
private A a;
}
<强> A 强>
import javax.xml.bind.annotation.*;
@XmlAccessorType(XmlAccessType.FIELD)
public class A {
@XmlAttribute(namespace="test")
private String type;
@XmlValue
private String value;
}
了解更多信息