Я работаю над программой Spring-Batch. Я удаляю XML-файлы с помощью XStreamMarshaller.Как я могу заставить XStreamMarshaller пропускать неизвестную привязку?
Как я могу заставить XStreamMarshaller пропустить любые неизвестные + unannoated поля?
<bean id="merge.reader.item"
class="org.springframework.batch.item.xml.StaxEventItemReader">
<property name="fragmentRootElementName" value="xml-fragment"/>
<property name="unmarshaller" ref="merge.reader.unmarshaller"/>
</bean>
<bean id="merge.reader.unmarshaller"
class="org.springframework.oxm.xstream.XStreamMarshaller">
<property name="aliases" ref="merge.reader.binder"/>
<property name="autodetectAnnotations" value="true"/>
</bean>
<util:map id="merge.reader.binder">
<entry key="xml-fragment" value="path.to.my.Model"/>
</util:map>
public class Model {
@XStreamAlias(value = "one")
private String one;
@XStreamAlias(value = "other")
private String other;
}
Проблема заключается в том, что некоторые новые элементы XML будут введены в другое время.
Я не хочу (на самом деле я не могу) добавлять дополнительные поля в свою модель.
Если у вас есть контроль над созданием 'экземпляра XStream', это ваш ответ: http://stackoverflow.com/questions/4409717/java-xstream-ignore-tag-that-doesnt-exist -в-XML – biziclop