1

我有一个 XSD 架构,它使用名称空间来区分具有相同名称的元素。我正在使用 Maven 插件 jaxb2-maven-plugin 生成 JAXB 绑定。

在编组我的 JAXB 对象时,JAXB 用根节点中的标识符替换每个名称空间。XML 仍然有效,但我的应用程序用户的可读性(或可识别性)受到影响。

它应该是什么样子:

<Root xmlns="http://somenamespace.com/Root">
    <Config xmlns="http://somenamespace.com/ConfigTypeOne"/>
    <Config xmlns="http://somenamespace.com/ConfigTypeTwo"/>    
</Root>

编组后的样子:

<Root xmlns="http://somenamespace.com/Root" xmlns:ns1="http://somenamespace.com/ConfigTypeOne" xmlns:ns2="http://somenamespace.com/ConfigTypeTwo">
    <ns1:Config/>
    <ns2:Config/>    
</Root>

有没有办法告诉 JAXB 跳过命名空间的替换并按照 XSD 模式中定义的方式编组 XML?

4

0 回答 0