jackson fasterxml 将命名空间添加到根元素
Posted
技术标签:
【中文标题】jackson fasterxml 将命名空间添加到根元素【英文标题】:jackson fasterxml add namespaces to root element 【发布时间】: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
【参考方案1】:
由于 xsi:schemaLocation 是一个属性,你可以这样添加:
public class A implements Serializable
@JacksonXmlProperty(isAttribute = true, localName = "xsi:schemaLocation")
private String schemaLocation = "urn:path:to.your.schema";
它为我完成了这项工作。
【讨论】:
以上是关于jackson fasterxml 将命名空间添加到根元素的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot 2.5.0 对于 Jackson Kotlin 类的支持,请在类路径中添加“com.fasterxml.jackson.module: jackson-module-kotlin
java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/TSFBuilder
JAVA - 使用 FasterXml.Jackson 将 XML 文件解析为 Map
Fasterxml Jackson-databind漏洞分析与利用
错误:编译 Java 文件时“包 com.fasterxml.jackson.databind 不存在”
Spring 2.2.1 构建错误找不到工件 com.fasterxml.jackson:jackson-bom:pom:2.10.5