Java 在JAXB绑定文件中配置名称空间前缀
我使用名称空间从XSD生成Java文件。当相应的Java对象序列化为XML时,名称空间前缀是Java 在JAXB绑定文件中配置名称空间前缀,java,jaxb,xml-serialization,xml-namespaces,jaxb2,Java,Jaxb,Xml Serialization,Xml Namespaces,Jaxb2,我使用名称空间从XSD生成Java文件。当相应的Java对象序列化为XML时,名称空间前缀是ns1,ns2。。。似乎有三种方式: 如果使用Oracle的Java,可以向封送器添加com.sun.xml.internal.bind.marshaller.NamespacePrefixMapper 如果文件package info.java在您的控制下,那么您可以向其中添加javax.xml.bind.annotation.XmlNs。当Java文件是从XSD生成时,这不起作用 您可以在JAXB绑定
ns1
,ns2
。。。似乎有三种方式:
com.sun.xml.internal.bind.marshaller.NamespacePrefixMapper
package info.java
在您的控制下,那么您可以向其中添加javax.xml.bind.annotation.XmlNs
。当Java文件是从XSD生成时,这不起作用javax.xml.bind.annotation.XmlNs
注释第三个选项为非标准选项,其最新版本为2012年版。同时是否有等效的标准选项可用,例如标准名称空间
http://java.sun.com/xml/ns/jaxb
或http://java.sun.com/xml/ns/jaxb/xjc
?第三选项有最新版本谢谢您提供的信息。这个选项仍然依赖于Maven。但是,我正在标准名称空间http://java.sun.com/xml/ns/jaxb
或http://java.sun.com/xml/ns/jaxb/xjc
。此外,Maven插件仍然依赖于扩展名org.jvnet.jaxb2_commons.jaxb2命名空间前缀
,该扩展名从2012年起生效。序列化的xml已经有了命名空间。这是我要配置的命名空间前缀。请参阅: