3

使用 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 中,但结果不是我所期望的。请,任何帮助表示赞赏。

4

1 回答 1

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;

}

一个

import javax.xml.bind.annotation.*;

@XmlAccessorType(XmlAccessType.FIELD)
public class A {

    @XmlAttribute(namespace="test")
    private String type;

    @XmlValue
    private String value;

}

了解更多信息

于 2013-07-24T09:18:05.063 回答