jackson fasterxml将名称空间添加到根元素

Hoo*_*oli 7 java xml namespaces jackson fasterxml

如果我有班级A.java:

@JacksonXmlRootElement(localName = "A")
public class A {

}
Run Code Online (Sandbox Code Playgroud)

产生的输出是:

 <A
    xmlns="">
Run Code Online (Sandbox Code Playgroud)

我想在输出中添加一些名称空间,即 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.com example.xsd"

如何配置A.java包含更多这样的自定义命名空间?

小智 3

由于 xsi:schemaLocation 是一个属性,因此您可以这样添加它:

public class A implements Serializable {

    @JacksonXmlProperty(isAttribute = true, localName = "xsi:schemaLocation")
    private String schemaLocation = "urn:path:to.your.schema";
Run Code Online (Sandbox Code Playgroud)

它为我完成了这项工作。