杰克逊 FasterXML 如何为根元素添加命名空间

9
如果我有一个叫做A.java的类:
@JacksonXmlRootElement(localName = "A")
public class A {

}

输出结果为:
 <A
    xmlns="">

我想在输出中添加几个更多的命名空间,例如xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.example.com example.xsd"

如何配置A.java以包含这些自定义命名空间?


Jackson 应该自动添加 A 所需的所有命名空间。您想添加一些“无用”的命名空间声明吗? - Gaël J
是的,就像问题中提到的那样。我需要向根元素添加一些“无用”的命名空间。 - Hooli
@Hooli,你考虑过使用JAXB吗? - TechFree
1个回答

3
自从xsi:schemaLocation成为一个属性,你可以像这样添加它:
public class A implements Serializable {

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

它对我很有帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接