У меня есть следующий XML:XStream проблема с неявной коллекцией
<appConfig>
<database isSource="true" fizz="129"/>
<database isSource="false" fizz="29494" />
<buzz bee="always" />
</appConfig>
Это должно отображаться на следующий POJOs:
public class AppConfig {
private Database sourceDb;
private Database targetDb;
private Buzz buzz;
}
public class Database {
// Omitted for brevity...
}
public class Buzz {
// Omitted for brevity...
}
И настроенный следующий XStream
картографа:
XStream oxMapper = new XStream();
oxMapper.alias("appConfig", AppConfig.class);
oxMapper.alias("database", Database.class);
oxMapper.alias("buzz", Buzz.class);
Чтобы прочитать и десериализовать XML следующим образом:
ApplicationConfig appCfg = (ApplicationConfig)oxMapper.fromXML(
getXMLSnippet());
Но я получаю эту ошибку:
Element database of type com.myapp.Database is not defined as field in type com.myapp.AppConfig
Я прочитал this article, который говорит о неявных коллекциях, и считают, что XStream считает мои два Database
элементов являются частью списка (неявные коллекций), когда на самом деле они не являются (они должны отображаться на 2 разных свойствах AppConfig
).
Как исправить это? Заранее спасибо!