Thank you, this seems to work. 

I'm still interested in finding out why the digester is not working.


Niall Gallagher-3 wrote:
> 
> Hi,
> 
> You should use something simple, for instance try Simple from 
> http://simple.sourceforge.net. The following could be done cleaner and 
> faster, with no obscure problems and no casting required.
> 
> public class SampleDigester {
> 
>    public static void main(String[] args) throws Exception {
>       Persister persister = new Persister();
>       People people = persister.read(People.class, new
> File("person.xml"));
> 
>       for (int i = 0; i < people.size(); i++)
>       {
>         Person p = people.get(i);
>         System.out.println(p.getName() + "=" + p.getAge());
>       }
>    }
> }
> 
> @Root(name="people")
> public class People {
> 
>     @ElementList(name="list", type=Person.class)
>     private Dictionary<Person> list;
> 
>     public Person get(int index) {
>         return list.get(index);
>     }
> 
>     public int size() {
>         return list.size();
>     }
> }
> 
> @Root(name="person")
> public Person {
> 
>     @Element(name="name")
>     private String name;
> 
>     @Element(name="age")
>     private int age
> 
>     public String getName() {
>         return name;
>     }   
> 
>     public int getAge() {
>         return age;
>     }
> }
> 
> 
> <people>
>    <list>
>       <person>
>         <name>Tom Higgins</name>
>         <age>25</age>
>       </person>
>       <person>
>         <name>Barney Smith</name>
>         <age>75</age>
>       </person>
>       <person>
>         <name>Susan Shields</name>
>         <age>53</age>
>       </person>
>    </list>
> </people>
> 
> Niall
> 
> herbison wrote:
>> This has got to be simple!
>> When I run the code below the parse sees each instance of person but
>> nothing
>> is read from the xml file, why?
>> Here is the output:
>> SETAGE:0
>> SETNAME:
>> SETAGE:0
>> SETNAME:
>> SETAGE:0
>> SETNAME:
>> =0
>> =0
>> =0
>>
>>
>> here is my main routine:
>> public class SampleDigester
>> {
>>      public static void main(String [] args) throws Exception
>>      {
>>              List people = new ArrayList();
>>
>>              // Configure Digester from XML ruleset
>>              Digester digester = new Digester();
>>              digester.addObjectCreate("people/person", Person.class);
>>              digester.addSetNext("people/person", "add" ,"Person");
>>              digester.addBeanPropertySetter("people/person", "name");
>>              digester.addBeanPropertySetter("people/person", "age");
>>
>>              // Push empty List onto Digester's Stack
>>              digester.push( people );
>>
>>              // Parse the XML document
>>              InputStream input = new FileInputStream( "person.xml" );
>>              digester.parse( input );
>>
>>              for (int i=0;i<people.size();i++)
>>              {
>>                      Person p = (Person)people.get(i);
>>                      System.out.println(p.getName()+"="+p.getAge());
>>              }
>>      }
>> }
>> Here is my bean:
>> import java.io.Serializable;
>>
>> public class Person implements Serializable
>> {
>>      private String id;
>>      private String name;
>>      private int age;
>>                                              
>>      public Person() {}
>>      
>>      public String getId() { return id; }
>>      public void setId(String v) {
>>              System.out.println("SETID:"+v);
>>              id = v; 
>>      }
>>      
>>      public String getName() { return name; }
>>      public void setName(String v) { 
>>              System.out.println("SETNAME:"+v);
>>              name = v; 
>>      }
>>      
>>      public int getAge() { return age; }
>>      public void setAge(int v) { 
>>              System.out.println("SETAGE:"+v);
>>              age = v; 
>>      }
>>
>> }
>> Here is my xml:
>>
>> <people>
>>   <person>
>>     <name>Tom Higgins</name>
>>     <age>25</age>
>>   </person>
>>   <person>
>>     <name>Barney Smith</name>
>>     <age>75</age>
>>   </person>
>>   <person>
>>     <name>Susan Shields</name>
>>     <age>53</age>
>>   </person>
>> </people>
>>
>>
>>   
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Digester%2C-someone-HELP%21%21%21%21--please-tf3362618.html#a9359609
Sent from the Commons - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to