【发布时间】:2013-04-03 19:17:47
【问题描述】:
这可能与JAXB Marshaller - How do I suppress xmlns namespace attributes?有关
但我的问题有点不同。 我进行常规的 java 编组,我的 xsd 没有命名空间。生成的 xml 也没有命名空间,除了根元素。
<?xml version="1.0" encoding="UTF-8"?><rootElement xmlns:ns2="unwanted namespace">
unwanted namespace 来自同一个项目的另一个模式,我不确定为什么在这个阶段会选择它。
我的 jaxb2-maven-plugin 生成的 rootElement.java 看起来像:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"feed"
})
@XmlRootElement(name = "rootElement", namespace = "")
public class RootElement{
....
}
此时我只想从生成的 xml 中删除 xmlns:ns2="unwanted namespace" 属性,我正在努力解决它。
我查看了我的 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,但这适用于更改前缀。我无法让它完全删除命名空间。这让我困扰了一天。
【问题讨论】:
标签: java xml jaxb xml-namespaces jaxb2-maven-plugin