FasterXML / FasterXML/jackson-dataformat-xml

Deserialization of heterogeneous list

未关闭
#787 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
3.x
主要语言
Java
星标
631
派生
246
平均合并
7 天 9 小时
30 天内合并 PR
13

描述

### Discussed in https://github.com/FasterXML/jackson-dataformat-xml/discussions/786

Originally posted by **kristofvb** November 19, 2025
Hi,

I have some questions about the following sample:

```
class ParseTest {

@Test
void parse() throws Exception {
var mapper = new XmlMapper();
var root = mapper.readValue("""


somefoo
otherfoo
something very different


""", Root.class);
System.out.println(root);
}

private static class Root {
@JacksonXmlProperty(localName = "foos")
private List foos = new ArrayList<>();

public String toString() {
return "Root{" +
"foos=" + foos +
'}';
}
}

private static class Foo {
@JacksonXmlText
String text;

@JacksonXmlProperty(isAttribute = true)
Integer sequenceNr;

public String toString() {
return "Foo{" +
"text='" + text + '\'' +
", sequenceNr=" + sequenceNr +
'}';
}
}

}
```

- is there a way to make sure the foos list only contains Foo instances for actual foo elements and avoid turning the bar element into a Foo instance?
- is there a way (annotation) to sort the foos list on sequenceNr of the elements? Currently I sort the list in the foos setter (which I omitted in the sample).

Thanks for looking into this.

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。