首页 > 解决方案 > Spring Framework - Kotlin - 将实体保存到 XML

问题描述

我想按一下按钮在 Spring Framework 中创建一个 XML 文件并下载它。此文件应从现有实体下载。不幸的是,我找不到任何关于它如何与 Kotlin 和 Spring 框架一起工作的信息。

有人可以在这里给我看一个例子吗?

我已经尝试过https://grokonez.com/kotlin/kotlin-convert-kotlin-object-xml-file-xml-string-jackson但不幸的是它不起作用。

标签: javaspringkotlin

解决方案


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
    }
}    

推荐阅读