Hello Russel,
i did try using this code:
digester.addBeanPropertySetter
("students/student/[EMAIL PROTECTED]'name']/@value");
                digester.addBeanPropertySetter
("students/student/[EMAIL PROTECTED]'course']/@value");
                digester.addBeanPropertySetter
("students/student/[EMAIL PROTECTED]'age']/@value");

(i think you forgot a '@' before the name), but it doesn't build the Student
object properly.
this is the output i get:

Using studentXML1: Students List [Name=Java Boy & Course=JSP & Age=10]
Using studentXML2: Students List [Name=null & Course=null & Age=0]

where you can see that fields are not set properly.


2005/12/28, Russell Simpkins <[EMAIL PROTECTED]>:
>
> given
>
> >     protected String studentsXML2 = "<?xml version=\"1.0\"?>"
> >         + "<students>"
> >         + "<student>"
> >         + "<property name=\"name\" value=\"Java Boy\"/>"
> >         + "<property name=\"course\" value=\"Digester\"/>"
> >         + "<property name=\"age\" value=\"10\"/>"
> >         + "</student>"
> >         + "</students>";
> >
> >     public void testAddBeanPropertySetter1() {
> >
> >         DigestStudents ds = new DigestStudents(studentsXML1);
> >         ds.digest();
> >
> >     }
> >
> >     public void testAddBeanPropertySetter2() {
> >
> >         DigestStudents ds = new DigestStudents(studentsXML2);
> >         ds.digest();
> >
> >     }
> >
> >     private class DigestStudents {
> >         List<Student> students;
> >         String input;
> >         public DigestStudents(String input) {
> >
> >             students = new ArrayList<Student>();
> >             this.input = input;
> >         }
> >
> >         private void digest() {
> >             try {
> >                 Digester digester = new Digester();
> >                 digester.setRules(new ExtendedBaseRules());
> >
> >                 digester.push(this);
> >
> >                 digester.addObjectCreate("students/student",
> >Student.class);
> >
> >                 digester.addBeanPropertySetter("students/student/?");
>
> did you try:
>
> digester.addBeanPropertySetter
> ("students/student/property[name='name']/@value");
> digester.addBeanPropertySetter
> ("students/student/property[name='course']/@value");
> digester.addBeanPropertySetter
> ("students/student/property[name='age']/@value");
>
> which is the XPath way to grab those property values
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
To Iterate is Human, to Recurse, Divine
James O. Coplien, Bell Labs

Reply via email to