Java 前缀未出现在生成的XML上
我有这个XSD模式定义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">
<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注释。