如何将 XML 反序列化为不同的数据

问题描述

我有以下 XML:

<?xml version="1.0" encoding="UTF-8"?>
<document>
    <data id="amort">
        <rows>
            <row issuevalue="3000" amortdate="2039-03-16"
                 facevalue="1000" data_source="maturity"/>
        </rows>
    </data>
    <data id="coupons">
        <rows>
            <row isin="0A100EF5" name="26230" coupondate="2019-10-09"
                 valueprc="7.7"/>
        </rows>
    </data>
    <data id="amort.cursor">
        <rows>
            <row INDEX="0" TOTAL="1" PAGESIZE="20"/>
        </rows>
    </data>
    <data id="coupons.cursor">
        <rows>
            <row INDEX="0" TOTAL="4" PAGESIZE="20"/>
        </rows>
    </data>
</document>

我需要转换为课堂。我尝试定义“数据” 但错误 com.fasterxml.jackson.databind.exc.InvalidDeFinitionException: Invalid deFinition for property 'data'

@JsonIgnoreProperties(ignoreUnkNown = true)
@JacksonXmlRootElement(localName = "document")
data class CouponXml(

    @JacksonXmlElementWrapper(localName = "data")
    val amorts: DataAmort?,@JacksonXmlElementWrapper(localName = "data")
    val coupons :DataCoupon?
)

@JacksonXmlRootElement(localName = "data")
data class DataAmort(
    @JacksonXmlProperty(isAttribute = true)
    val name: String = "amort",@JacksonXmlElementWrapper(localName = "rows")
    val rows: List<AmortRow>? = null
)

@JacksonXmlRootElement(localName = "data")
data class DataCoupon(
    @JacksonXmlProperty(isAttribute = true)
    val name: String = "coupons",@JacksonXmlElementWrapper(localName = "rows")
    val rows: List<CouponRow>? = null
)

我需要如何注释我的对象才能让 FasterXML 反序列化这个 xml?

解决方法

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

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

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