如何在Java(JAXB或其他方法)上确定XML命名空间的位置?

时间:2018-05-09 08:12:53

标签: java xml xsd jaxb marshalling

我正在使用JAXB将Java对象编组为XML。

实施例

com.abc.Defter.java object package-info.java

@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.example.com",
    xmlns = {@javax.xml.bind.annotation.XmlNs(namespaceURI = "http://www.example.com", prefix = "abc")})
package com.abc;

com.xyz.Xbrl.java object package-info.java

@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.example2.com",
    xmlns = {@javax.xml.bind.annotation.XmlNs(namespaceURI = "http://www.example2.com", prefix = "xyz")})
package com.xyz;

编组结果xml字符串;

<abc:defter xmlns:abc="http://www.example.com" xmlns:xyz="http://www.example2.com">
   <xyz:xbrl>
      <xyz:unit id="try">
         <measure>iso4217:TRY</measure>
      </xyz:unit>
   </xyz:xbrl>
</abc:defter>

所有名称空间都在根目录中,但我不希望它 。我想要以下示例;

<abc:defter xmlns:abc="http://www.example.com">
    <xyz:xbrl xmlns:xyz="http://www.example2.com">
        <xyz:unit id="try">
            <measure>iso4217:TRY</measure>
        </xyz:unit>
    </xyz:xbrl>
</abc:defter>

如何使用JAXB或其他方法?

0 个答案:

没有答案