Kotlin 对象 + JAXB:如何将 XML 名称强制为 `object { ... }`?

问题描述

科特林 1.40,杰克逊 2.12.1

我正在整理一个 <span class="badge bg-danger" id="stat" onclick="txtclrchan()">Accept</span> 对象列表。
结果应该是可以预期的:

Transaction

我想一起去

  • 非常简单的事情,
  • 具有来自变量的包装器名称

我试过了:

<transactions>
    <transaction>...</transaction>
    ...
</transactions>

看到这无济于事,我什至尝试了一个类,

OutputFormat.XML -> transactions // <EmptyList/>
OutputFormat.XML -> mapOf("transactions" to transactions) // <SingletonMap/>
OutputFormat.XML -> object { @field:JacksonXmlElementWrapper(name = "transactions") @field:XmlElementWrapper(name = "transactions") val transactions = transactions } // <><transactions/></>
OutputFormat.XML -> object { @XmlElement(name = "transactions") val transactions = transactions } // <><transactions/></>
OutputFormat.XML -> object { @field:XmlElement(name = "transactions") val transactions = transactions } // <><transactions/></>

正如你所看到的,我在登陆之前真的试过了

@XmlRootElement(name = "transactions") // Doesn't work
class TxWrapper(
    @JacksonXmlElementWrapper(useWrapping = false)
    val transactions: List<Transaction>,)
OutputFormat.XML -> transactions(transactions) // <TxWrapper> <transactions/> </TxWrapper>
  1. 有什么方法可以说服 Jackson 使用 Kotlin class transactions( @JacksonXmlElementWrapper(useWrapping = false) val transactions: List<Transaction>,) 并为根 XML 元素命名?

  2. 如果没有,我该如何拥有一个普通的班级名称(例如 object)并让 Jackson 使用其他名称TransactionWrapper 无效。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)