我想知道如何在jaxb中仅键入一次名称空间,因为在每个字段中我都需要放置名称空间。
下面的代码显示了它。
@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;
}
}
我只想放一次。
谢谢
最佳答案
您可以使用@XmlSchema
注释在程序包级别进行设置。通过将元素形式默认设置为合格,所有没有通过注释指定名称空间的元素都将属于给定名称空间。
包信息.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;
了解更多信息
http://blog.bdoughan.com/2010/08/jaxb-namespaces.html