如何在使用 JAXB 编码 Java 对象时将 xmlns 添加到元素中,所以结果应该是这样的
<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 中,但结果不是我所期望的。请提供任何帮助。
最佳答案
在您的示例中,type
属性是命名空间限定的。您可以在 @XmlAttribute
注释上为其设置 namespace
参数。
R
import javax.xml.bind.annotation.*;
@XmlRootElement(name="R")
@XmlAccessorType(XmlAccessType.FIELD)
public class R {
@XmlElement(name="A")
private A a;
}
一个
import javax.xml.bind.annotation.*;
@XmlAccessorType(XmlAccessType.FIELD)
public class A {
@XmlAttribute(namespace="test")
private String type;
@XmlValue
private String value;
}
了解更多信息
关于java - JAXB 在编码 java 时将 xmlns 添加到元素中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17825574/