Я пытаюсь тайному XML-объекта с помощью XStream: -Ошибка при Преобразование XML в объект или Карта в Scala, используя XStream
def convert(xml: String) = {
val xstream = new XStream(new DomDriver)
val convertedMap:testing = xstream.fromXML(xml).asInstanceOf[testing];
convertedMap
}
val justtest:String = "<testing><note>5</note></testing>"
convert(justtest)
был определен класс тестирования следующим образом: -
class testing {
private var note = None;
}
Я получаю следующее сообщение об ошибке: -
java.lang.InstantiationError: testing
at sun.reflect.GeneratedSerializationConstructorAccessor28.newInstance(sum.sc)
at java.lang.reflect.Constructor.newInstance(sum.sc:419)
at com.thoughtworks.xstream.converters.reflection.Sun14ReflectionProvider.newInstance(sum.sc:71)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.instantiateNewInstance(sum.sc:424)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(sum.sc:229)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(sum.sc:68)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(sum.sc:61)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(sum.sc:62)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(sum.sc:46)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(sum.sc:130)
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(sum.sc:28)
at com.thoughtworks.xstream.XStream.unmarshal(sum.sc:1054)
at com.thoughtworks.xstream.XStream.unmarshal(sum.sc:1038)
at com.thoughtworks.xstream.XStream.fromXML(sum.sc:909)
at com.thoughtworks.xstream.XStream.fromXML(sum.sc:900)
at #worksheet#.convert(sum.sc:26)
at #worksheet#.#worksheet#(sum.sc:30)
Пожалуйста, помогите с вышесказанным.
Также есть способ напрямую преобразовать xml в карту в scala?
Я думаю, вы должны предоставить конструктор для класса Testing, который принимает примечание как параметр. – leshkin
Я сделал это, теперь класс тестирования выглядит следующим образом: - 'class testing (note: String) {def getNote = note; } ', но я получаю ошибку при вызове convertMap.getNote' java.lang.NoSuchMethodError: testing.getNote() Ljava/lang/String; на # рабочий лист # .convert (sum.sc:26) на #workheet #. # рабочий лист # (sum.sc:29) ' – david419