commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From herbison <herbi...@nortel.com>
Subject Re: [VFS] Someone HELP!!!! please
Date Wed, 07 Mar 2007 18:56:08 GMT

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: commons-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-user-help@jakarta.apache.org
> 
> 
> 

-- 
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: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Mime
View raw message