Java 前缀未出现在生成的XML上

Java 前缀未出现在生成的XML上,java,xml,xsd,Java,Xml,Xsd,我有这个XSD模式定义 <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://www.xxxx.xxxxxxxxx.xxxxxxxx/xxxx/xxxx"> <xs:element name="myRootElemnt">

我有这个XSD模式定义

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    xmlns:ns2="http://www.xxxx.xxxxxxxxx.xxxxxxxx/xxxx/xxxx">
    <xs:element name="myRootElemnt">
       <xs:complexType>
            <xs:sequence>
                <xs:element name="messageType">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element type="xs:short" name="id" />
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element type="xs:int" name="time" />
                <xs:element type="xs:short" name="date" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

生成的XML是:

但是,XML仍然不完整,它必须包含
xmlns:ns2=”http://www.xxxx.xxxxxxxxx.xxxxxxxx/xxxx/xxxx“>
和根元素的前缀ns2,如下所示:


有解决方案吗?

根据您显示的结果,您有来自两个不同名称空间的元素:在名称空间
http://www.xxx.xxxxx
,以及所有其他名称空间。这意味着您至少需要两个XSD文件,每个命名空间一个,一个必须导入另一个。记住,带有名称空间的名称空间必须指明目标名称空间。hello@kumesana,感谢您的回复,我认为是这样的,但我没有ns2引用的xsd,是否有任何解决方案只修改生成的xml以包含前缀?我使用包信息,我可以添加xmlns:ns2=“,但仍然没有得到myRootElemnt的前缀”,但我没有ns2引用的xsd“很好地制作一个-”。或者,如果您愿意,您可以忘记xsd,使用JAXB注释。