java - Spring Framework - Kotlin - 将实体保存到 XML
问题描述
我想按一下按钮在 Spring Framework 中创建一个 XML 文件并下载它。此文件应从现有实体下载。不幸的是,我找不到任何关于它如何与 Kotlin 和 Spring 框架一起工作的信息。
有人可以在这里给我看一个例子吗?
我已经尝试过https://grokonez.com/kotlin/kotlin-convert-kotlin-object-xml-file-xml-string-jackson但不幸的是它不起作用。
解决方案
Jackson-dataformat-xml 是一个不错的选择。
import com.fasterxml.jackson.dataformat.xml.XmlMapper
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test
import java.io.File
class XmlMapperTest {
@Test
fun serializeToXml() {
val xmlMapper: XmlMapper = XmlMapper()
val car1 = Car(-1, "UAZ", CarColor.GREEN)
val xml: String = xmlMapper.writeValueAsString(car1)
assertEquals("<Car><id>-1</id><model>UAZ</model><color>GREEN</color></Car>", xml)
File("F:/car1.xml").writeText(xml)
}
data class Car(
val id: Long,
val model: String,
val color: CarColor
)
enum class CarColor {
GREEN, RED
}
}
推荐阅读
- angular - 对 ngContent 的内容应用 CdkVirtualScroll
- angular - Angular 11 Universal 和 Bootstrap 5 Toast 不起作用 - 新的引导程序 TS2304:找不到名称“引导程序”,被粉碎
- python - 如何限制 FastAPI 请求标头中的内容类型
- tensorflow - 使用 ImageDataGenerator 时,模型拟合永远不会完成第一个 epoch
- jquery - 获取 gallery.scrollGallery 不是函数
- r - 计算 1-1-1(人内、多层次)中介分析的间接影响
- java - 错误解组返回;嵌套异常是:java.io.StreamCorruptedException: Inconsistent vector internals
- reactjs - 获取项目列表后,我只想显示 1 个项目
- deployment - 由于 Eslint/prettier 样式,Bitbucket 管道失败
- date - 事件到期时间为 10 分钟时自动弹出声音通知