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


Reply via email to