【问题标题】:jackson fasterxml add namespaces to root elementjackson fasterxml 将命名空间添加到根元素
【发布时间】:2016-05-10 02:54:34
【问题描述】:

如果我有课程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 以包含更多类似这样的自定义命名空间?

【问题讨论】:

  • A 所需的所有命名空间应由 Jackson 自动添加。你想添加一些“无用”的命名空间声明吗?
  • 是的,如问题中所述。我需要在根元素中添加一些“无用”的命名空间
  • @Hooli,你考虑过使用 jaxb

标签: java xml namespaces jackson fasterxml


【解决方案1】:

由于 xsi:schemaLocation 是一个属性,你可以这样添加:

public class A implements Serializable {

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

它为我完成了这项工作。

【讨论】:

    猜你喜欢
    • 2017-11-27
    • 2011-02-10
    • 2019-11-17
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多