从Jaxb字段中取出命名空间

时间:2013-09-03 18:08:46

标签: java xml jaxb

我想知道如何在jabx中只键入一个时间命名空间,因为在每个字段中我都需要放置命名空间。

下面的代码显示了它。

@XmlRootElement(name = "nfeProc", namespace = "http://www.portalfiscal.inf.br/nfe")
@XmlAccessorType(XmlAccessType.FIELD)
class NFeProc {

    @XmlElement(name = "NFe", namespace = "http://www.portalfiscal.inf.br/nfe")
    private NFe nfe;

    @XmlAttribute(name = "versao")
    private String versao;

    public NFe getNfe() {
        return nfe;
    }

    public void setNfe(NFe nfe) {
        this.nfe = nfe;
    }

    public String getVersao() {
        return versao;
    }

    public void setVersao(String versao) {
        this.versao = versao;
    }

}

我只想放一次。

由于

1 个答案:

答案 0 :(得分:1)

您可以使用@XmlSchema注释在包级别设置它。通过将element form default设置为qualified,所有没有通过注释指定的命名空间的元素都将属于给定的命名空间。

<强> package-info.java

@XmlSchema(
    namespace = "http://www.portalfiscal.inf.br/nfe",
    elementFormDefault = XmlNsForm.QUALIFIED)
package example;

import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.bind.annotation.XmlSchema;

了解更多信息