Deserialization of heterogeneous list
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 25/100
Rechercherichtung
Beginne mit dem ParseTest-Beispiel und dem im Issue gezeigten Aufruf von XmlMapper.readValue. Untersuche, wie die XML-Sammlung gebunden wird, wenn und gemeinsam auftreten, und ob eine auf sequenceNr basierende Sortierung unterstützt wird; als erledigt gilt dies, wenn eine funktionierende Konfiguration dokumentiert oder die nicht unterstützten Einschränkungen eindeutig festgehalten sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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("""
<root>
<foos>
<foo sequenceNr="1">somefoo</foo>
<foo sequenceNr="2">otherfoo</foo>
<bar>something very different</bar>
</foos>
</root>
""", Root.class);
System.out.println(root);
}
private static class Root {
@JacksonXmlProperty(localName = "foos")
private List<Foo> 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.
- Vorherrschende Sprache
- Java
- Sterne
- 636
- Forks
- 250
- Ø Merge
- 7 Std. 10 Min.
- Gemergte PRs (30 T.)
- 8
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus FasterXML/jackson-dataformat-xml
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
FasterXML/jackson-dataformat-xml#931 · 3 Kommentare ·
-
XmlMapper with `FAIL_ON_UNKNOWN_PROPERTIES` fails on whitespace-only elementEvtl. vergeben @arimu1 hat das vor 89 Tagen übernommen. Offento-evaluate
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
FasterXML/jackson-dataformat-xml#712 · 3 Kommentare ·
Alle Issues in FasterXML/jackson-dataformat-xml
Ähnliche Issues
-
Cleanup: restore the interrupt flag in AiFailureAnalyzerEvtl. vergeben @Rishankgupta08 hat das heute übernommen. Offengood first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
seleniumboot/selenium-boot#258 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
dense-analysis/ale#5181 ·
-
bug subsystem:agent-harness triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
ShaftHQ/SHAFT_ENGINE#8043 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
johanhaleby/occurrent#1505 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag