xstream parser error: java.lang.ArrayIndexOutOfBoundsException: -1 -


let me start saying first time trying use xstream. trying parse xml file , use data build java object. i've added xstream-1.4.4.jar, xpp3_min-1.1.4c.jar, xmlpull-1.1.3.1.jar, , kxml2-2.3.0.jar build paths. i've tried follow several tutorials, can't seem figure out why receiving error:

exception in thread "main" java.lang.arrayindexoutofboundsexception: -1     @ com.thoughtworks.xstream.core.util.faststack.pop(faststack.java:42)     @ com.thoughtworks.xstream.io.xml.abstractpullreader.move(abstractpullreader.java:125)     @ com.thoughtworks.xstream.io.xml.abstractpullreader.movedown(abstractpullreader.java:103)     @ com.thoughtworks.xstream.io.xml.xppreader.<init>(xppreader.java:63)     @ com.thoughtworks.xstream.io.xml.abstractxppdriver.createreader(abstractxppdriver.java:54)     @ com.thoughtworks.xstream.xstream.fromxml(xstream.java:913)     @ com.thoughtworks.xstream.xstream.fromxml(xstream.java:904)     @ parsetesting.testing.main(testing.java:10) 

the xml file looks this:

<?xml version="1.0" encoding="iso-8859-1"?>  <vblock>     <name>vblock1</name>     <status>online</status>     <storage>2.2</storage>     <cpu>2.5</cpu> </vblock> 

now, here corresponding class object i'd create:

package parsetesting;  public class vblock {     private string name;     private string status;     private double storage;     private double cpu;      /*public vblock(string n, string stat, double stor, double proc){         name = n;         status = stat;         storage = stor;         cpu = proc;     }*/      public string getname(){         return this.name;     }     public string getstatus(){         return this.status;     }     public double getstorage(){         return this.storage;     }     public double getcpu(){         return this.cpu;     }  } 

and finally, parsing attempting:

package parsetesting;  import com.thoughtworks.xstream.xstream;  public class testing {     public static xstream xstream = new xstream();      public static void main(string[] args){         xstream.alias("vblock", vblock.class);           vblock v1 = (vblock)xstream.fromxml("vblock.xml");          system.out.println(v1.getname());     }  } 

i appreciate insight can provided. thank much!

the fromxml method takes string parameter expects string containing actual xml want unmarshal, not string containing name of file. if want parse file need use 1 of other fromxml methods taking file, url or inputstream.


Comments

Popular posts from this blog

How to mention the localhost in android -

php - Calling a template part from a post -

c# - String.format() DateTime With Arabic culture -