У меня есть XML:
<WSDConfig>
<files>
<file>NewQuoteAPI.xml</file>
<file>tratata.xml</file>
</files>
</WSDConfig>
и я хочу проанализировать его в List.Итак, у меня есть следующие классы:
@Root (name="files")
data class WSDFileDAO(@field:Element (name="file") var file : String) {
constructor() : this("")
}
@Root (name="WSDConfig")
data class WSDConfigDAO(@field:ElementList (name="files", inline=true, required=false) var files : List<WSDFileDAO>) {
constructor() : this(mutableListOf<WSDFileDAO>())
}
Persister().read(WSDConfigDAO::class.java, File(wsDescFileName))
Я играю с аннотациями и типами много раз, и теперь у меня есть исключение:
org.simpleframework.xml.core.PersistenceException: элемент 'file' уже используется с @ org.simpleframework.xml.Element (name = file, type = void, data = false, required = true) в поле 'file' private java.lang.String util.xml.dao.wsdesc.WSDFileDAO.file
Скажите, пожалуйста, что я делаю не так?
РЕДАКТИРОВАТЬ: И если я изменю класс WSDFileDAO на:
@Root (name="files")
data class WSDFileDAO(var file : String) {
constructor() : this("") {}
}
Исключение составляет:
org.simpleframework.xml.core.ElementException: элемент 'file' не соответствует в классе util.xml.dao.wsdesc.WSDFileDAO