java - 如何将 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:属性“数据”的定义无效
@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?
解决方案
推荐阅读
- c# - C# & Oracle 查询数据库与组织的关系
- javascript - 仅显示部分 scss
- html - 在 Freemarker 中更改 div 属性值
- r - 如何在 semPaths 中包含估计值的 p 值和 R 平方?
- c# - 我如何将 json 数据组合在一个数组中,但在几分钟内聚合数据?
- laravel - Laravel 403 Forbidden nginx/1.14.0 (Ubuntu) in Nginx Digital Ocean
- reactjs - × 错误:无效的挂钩调用。Hooks 只能在函数组件的主体内部调用
- python - 如何将本地编译的 OpenCV 添加到 Python 路径?
- javascript - 在 JavaScript 中合并数组数组
- java - Java通过反射提取Generic类型的真实类型