Hi All,
I have following classes and XML file
public class CodeCatalog {
CodeTable codeList;
//getter and setter
}
public class CodeTable {
private String name;
private List<CodeInfo> codeInfoList = new ArrayList<CodeInfo>();
//getter and setter
}
public class CodeInfo {
private String code;
private String name;
private String description;
//getter and setter
}
<?xml version="1.0" encoding="UTF-8"?>
<codecatalog>
<codetable name="sample1">
<codeinfo>
<code>123</code>
<name>Test</name>
<description>Test code name 1</description>
</codeinfo>
<codeinfo>
<code>456</code>
<name>Beta</name>
<description>Test code name 2</description>
</codeinfo>
</codetable>
</codecatalog>
And I have following main class
public class ConvertApp {
public static void main(String[] args) {
File file = new File("C:\\sampleXML.xml");
XStream xstream = new XStream();
xstream.alias("codecatalog", CodeCatalog.class);
xstream.alias("codetable", CodeTable.class);
xstream.alias("codeinfo", CodeInfo.class);
xstream.useAttributeFor(CodeTable.class, "name");
xstream.addImplicitCollection(CodeTable.class, "codeInfoList");
CodeCatalog codeCatalog = (CodeCatalog)xstream.fromXML(file);
System.out.println(codeCatalog.getCodeList().getCodeInfoList().get(1).
getCode());
System.out.println(codeCatalog.getCodeList().getName());
}
}
I am getting following error
Exception in thread "main"
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$U
nknownFieldException: No such field com.anjib.lab.CodeCatalog.codelist
---- Debugging information ----
field : codelist
class : com.anjib.lab.CodeCatalog
required-type : com.anjib.lab.CodeCatalog
converter-type :
com.thoughtworks.xstream.converters.reflection.ReflectionConverter
path : /codecatalog/codelist
line number : 3
version : 1.4.5
-------------------------------
at
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.h
andleUnknownField(AbstractReflectionConverter.java:485)
at
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.d
oUnmarshal(AbstractReflectionConverter.java:341)
at
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.u
nmarshal(AbstractReflectionConverter.java:247)
at
com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java
:72)
at
com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(Abstract
ReferenceUnmarshaller.java:65)
at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshall
er.java:66)
at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshall
er.java:50)
at
com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:1
34)
at
com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(Abst
ractTreeMarshallingStrategy.java:32)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1156)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1140)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1104)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1046)
at com.anjib.lab.ConvertApp.main(ConvertApp.java:17)
What I am doing wrong?
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email