Supponiamo che io sono un file XML che dovrebbe essere simile a questo:Come (in parte) deserializzare XML con errori utilizzando xstream
<list>
<item>
<id>123</id>
<name>someName</name>
</item>
<item>
<id>234</id>
<name>anotherName</name>
</item>
<item>
<id>345</id>
<name>aThirdName</name>
</item>
</list>
ho analizzarlo utilizzando xstream e le seguenti classi:
class ListXML {
public List<ItemXML> list;
}
class ItemXML {
public String id;
public String name;
}
e il seguente codice:
XStream xstream = new XStream(new DomDriver());
xstream.alias("list", ListXML.class);
xstream.alias("item", ItemXML.class);
xstream.addImplicitCollection(ListXML.class, "item");
ListXML result = (ListXML) xstream.fromXML(in);
Fin qui tutto bene. Tuttavia, ora sono imbattuto in un caso in cui ho avuto il seguente codice XML come input:
<list>
<item>
<id>123</id>
<name>someName</name>
</item>
<item>
<id>234</id>
<aTagUnknownToMe>blabla</aTagUnknownToMe>
</item>
<item>
<id>345</id>
<name>aThirdName</name>
</item>
</list>
C'è un modo per cambiare il mio codice di essere "più robusti", in modo da poter entrare in possesso degli elementi con id 123 e 345 senza conoscere il tag "aTagUnknownToMe"?