我从XSD生成了Java类,从非编码的角度来看,所有类都能正常工作。

但是,当我从JAXB类编码时,会得到以下信息:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<message xmlns="http://poc.cmc.com/ScreenLayout">
    <Data>
        <Type>Sample</Type>
     . . .
</message>

但是我需要
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns0:message xmlns:ns0="http://poc.cmc.com/ScreenLayout">
    <ns0:Data>
        <ns0:Type>Sample</ns0:Type>
    . . .

如何从Java控制它?

非常感谢

最佳答案

您可以在@XmlSchema类上使用package-info批注为 namespace 分配前缀:

@XmlSchema(
    namespace = "http://poc.cmc.com/ScreenLayout",
    elementFormDefault = XmlNsForm.QUALIFIED,
    xmlns={@XmlNs(prefix="ns0", namespaceURI="http://poc.cmc.com/ScreenLayout")})
package your.package;


import javax.xml.bind.annotation.*;

10-06 03:16