如何告诉 JAXB 添加 noNameSpaceSchemaLocation 属性

How to tell JAXB to add noNameSpaceSchemaLocation attribute

我有一个特定的 class 层次结构,它使用 JAXB 转换为 XML。 我希望创建的 XML 在头部元素中具有 xsi:noNamespaceSchemaLocation 和 xmls:xsi 属性( xsi:noNamespaceSchemaLocation="Something.xsd" xmls:xsi="http://www.w3.org/2001/XMLSchema-instance"). 我不希望 JAXB 以任何方式使用模式 - 只需存储这些属性和值。

有专门的注解吗?我可以只创建一个常量 XmlAttribute 但它似乎是错误的...

谢谢

您可以像下面这样在 Marshaller 上设置 JAXB_NO_NAMESPACE_SCHEMA_LOCATION

marshaller.setProperty(Marshaller.JAXB_NO_NAMESPACE_SCHEMA_LOCATION, "address.xsd");