【发布时间】:2019-10-12 14:40:06
【问题描述】:
我有一个带有 2 个命名空间的 xml 元素,但我无法使用 jackson 读取它们。
<Person xmlns="http://some.namespace.com" xmlns:ns0="http://some.other.namespace.com">
<name>John</name>
</Person>
internal data class Person(
val name: String,
@get:JacksonXmlProperty(isAttribute = true)
val xmlns: String,
@get:JacksonXmlProperty(isAttribute = true, localName="xmlns:ns0")
val ns0: String
)
使用 jackson 读取 XML 时,我收到一条错误消息,指出两个命名空间都应该可以为空。
我尝试了一些变体,例如类主体中的 attrs 和命名空间属性,例如
@JacksonXmlProperty(isAttribute = true, localName = "ns0", namespace = "xmlns")
var ns0: String? = null
这是我正在使用的映射器
val mapper: XmlMapper = XmlMapper().apply {
registerModule(KotlinModule())
setSerializationInclusion(JsonInclude.Include.NON_NULL)
}
如何再次读取和写入此 xml 并使它们相同?
【问题讨论】:
标签: xml kotlin jackson jackson-dataformat-xml