Hi,
ich versuche ein XML-Parser mit der XStream Bibliothek zu bauen. Was ich über die Bibliothek gehört habe kling auch gut, das Marshallen funktioniert in einem Test auch schon. Das Unmarschallen komischerweise nicht. Gehe ich da verkehrt ran? Über einen Hinweis würde ich mich freuen:)
Marshalling Test
public void serializeTest(){
System.out.println(xStream.toXML(getSampleOutput()));
}
private Output getSampleOutput(){
Output eo=new Output();
IoFormat ef=new IoFormat();
ef.setName("FormatName");
eo.setFormat(ef);
IoSize es=new IoSize();
es.setBytes(123L);
eo.setSize(es);
IoPages eop=new IoPages();
eop.setCount(2);
eo.setPages(eop);
return eo;
}
Unmarshallig Test
private final XStream xStream;
public ParserTest() {
xStream = new XStream(new StaxDriver());
xStream.autodetectAnnotations(true);
}
...
@Test
public void outputParsingTest() throws IOException {
File file = new File("../importer/test/output.log");
System.out.println(file.getCanonicalPath() + " " + file.exists());
assertTrue(file.getCanonicalPath() + " have to exist", file.exists());
try {
Output eo = (Output) xStream.fromXML(file);
System.out.println(eo);
assertNotNull("EntryOutput instance not null", eo);
assertTrue("eo instanceof EntryOutput", eo instanceof Output);
} catch (Exception ex) {
ex.printStackTrace();
}
}
Hier noch die Fehlermeldung:
com.thoughtworks.xstream.mapper.CannotResolveClassException: output at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:79) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30) at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:55) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30) at com.thoughtworks.xstream.mapper.PackageAliasingMapper.realClass(PackageAliasingMapper.java:88) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30) at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:79) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30) at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:74) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30) at com.thoughtworks.xstream.mapper.SecurityMapper.realClass(SecurityMapper.java:71) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30) at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:47) at com.thoughtworks.xstream.core.util.HierarchicalStreams.readClassType(HierarchicalStreams.java:29) at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:133) at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32) at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1206) at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1190) at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1154) at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1096)