У меня есть элемент xml с 2 пространствами имен, и я не могу прочитать их с Джексоном.
<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
)
При чтении XML с Джексоном я получаю сообщение о том, что обаПространства имен должны быть обнуляемыми.
Я пробовал с некоторыми вариантами, такими как attrs в теле класса и с атрибутом namespace, например
@JacksonXmlProperty(isAttribute = true, localName = "ns0", namespace = "xmlns")
var ns0: String? = null
Это картограф, который я использую
val mapper: XmlMapper = XmlMapper().apply {
registerModule(KotlinModule())
setSerializationInclusion(JsonInclude.Include.NON_NULL)
}
Как я могу прочитать и снова написать этот xml и сделать их идентичными?