0
目前我已经从大量模式文件(.xsd)创建Java类。生成的类正在工作(通过jaxb2-maven-plugin生成)。但是现在我尝试从一个对象结构中生成一个XML。第一件事是我不完全理解为什么我需要提供在创建JAXB上下文期间可用的所有命名空间?生成的XML - 名称空间前缀
String[] context = { "Namespace1", "Namespace2", ...};
JAXBContext jc = JAXBContext.newInstance(Joiner.on(":").join(context));
通过编组我可以生成一个XML文件,但这个问题我有如下:
<StartTag xmlns="Basenamespace" xmlns:ns1="Namespace1" xmlns:ns2="Namespace2" ...>
<...>
<ns1:T1>...</ns1:T1>
<ns2:TX>...</ns2:TX>
...
</StartTag>
我想已经产生了这样的事情:
<StartTag xmlns="Basenamespace">
<...>
<T1 xmlns="Namespace1">
...
</T1>
<TX xmlns="Namespace2">
...
</TX>
...
</StartTag>
所以问题是:通过JAXB中的属性可以实现吗? 此外,是否有可能影响在哪个标签处创建或不创建元素?