Предположим, что у меня есть файл XML, который должен выглядеть следующим образом:Как (частично) десериализации XML с ошибками, используя 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>
я разобрать его, используя XStream и следующие классы:
class ListXML {
public List<ItemXML> list;
}
class ItemXML {
public String id;
public String name;
}
и следующий код:
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);
Пока все хорошо. Тем не менее, сейчас я наткнулся на случае, когда я имел следующий XML в качестве входных данных:
<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>
Есть ли способ изменить свой код, чтобы быть «более надежными», так что я могу достать из пунктов с идентификатором 123 и 345 без знания тега aTagUnknownToMe?