Я создаю XML-структуры с помощью XSource с использованием новой версии программного обеспечения.Затем я пытаюсь проанализировать сгенерированную структуру в более старой версии программного обеспечения.структура XML похожа на
<entry>
<key>CUSTOMER</key>
<value>test_dataset_2</value>
</entry>
<entry>
<key>RELEASE</key>
<value>1.010</value>
</entry>
<entry>
<key>CREATION_DATE</key>
<value>1552553419581</value>
</entry>
<entry>
<key>EXPIRATION_DATE</key>
<value>1553727600000</value>
</entry>
, ключевые значения хранятся в EnumMap.класс TestObject имеет запись
public EnumMap<KeyEntry, String> map = new EnumMap<KeyEntry, String>(KeyEntry.class);
KeyEntry - это простое перечисление.
Мы добавили запись в KeyEntry в новой версии программного обеспечения.Таким образом, выходной XML имеет одну дополнительную пару ключ / значение.Когда старое программное обеспечение анализирует его с помощью XStream, оно выдает ошибку, поскольку один из ключей (CUSTOMER) принадлежит новой версии программного обеспечения.Есть ли способ позволить XStream пропускать те ключи, которые есть в XML, но отсутствуют в ENUM?что-то вроде предупреждения, а не сбоя, потому что мы закрываем старое программное обеспечение и не хотим обновлять старые перечисления при изменении структуры XML.Мы все еще используем XStream в более новой версии.это ошибка:
com.thoughtworks.xstream.converters.ConversionException:
---- Debugging information ----
cause-exception : java.lang.IllegalArgumentException
cause-message : No enum constant com.my-package.TestObject.KeyEntry.CUSTOMER
class : com.my-package.TestObject$KeyEntry
required-type : com.my-package.TestObject$KeyEntry
converter-type : com.thoughtworks.xstream.converters.enums.EnumConverter
path : /test-object/map/entry[13]/key
line number : 52
class[1] : java.util.EnumMap
converter-type[1] : com.thoughtworks.xstream.converters.enums.EnumMapConverter
class[2] : com.my-package.TestObject
converter-type[2] : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
version : 1.4.10
-------------------------------