这可能是一个涉及到JAXB的Marshaller -如何抑制的xmlns名称空间的属性?
但我的问题是有点不同。 我做普通的Java编组和我的xsd没有namespaces.The生成XML是没有命名空间为好,除了根元素。
<?xml version="1.0" encoding="UTF-8"?><rootElement xmlns:ns2="unwanted namespace">
该unwanted namespace
是从同一个项目另一个模式,我不知道这是为什么被拾起在这个阶段。
通过JAXB2 - Maven的插件生成我rootElement.java是这样的:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"feed"
})
@XmlRootElement(name = "rootElement", namespace = "")
public class RootElement{
....
}
在这一点上我要的是摆脱的xmlns:ns2="unwanted namespace"
从生成的XML属性,我与它挣扎。
我看了看我的package-info.java,它看起来像:
@javax.xml.bind.annotation.XmlSchema(namespace = "unwanted namespace", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.mypackage;
我试着将他-npa
但它不会工作jaxb2-maven-plugin
出于某种原因。 我试过NamespaceMapper
但适用于不断变化的前缀。 我不能让它完全删除的命名空间。 这是现在困扰我的一天。