commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Kersten" <Martin.Kers...@Student.Uni-Magdeburg.DE>
Subject Re: [Digester] Parsing XML to a hashtable
Date Tue, 02 Mar 2004 14:19:05 GMT
Hi,

> I have a HashMap-based java bean that I'm trying to populate from an XML
> file. Now, the only accessors java bean exposes are get(String) and
> set(String, String), and XML file contains its data in body text, like
that:
>
> <Contact>
> <RowId>1</RowId>
> <LastName>Smith</LastName>
> </Contact>
>
> Now, while the whole setup looks fairly common, it doesn't look like
there's
> an easy way to parse it... I tried the CallMethod rule, but apparently it
> can accept parameters from pretty much anywhere - from body text, tag
> attribute, even the tag node up the stack - except from the tag name
itself!
> Am I missing something there?
>
> Thanks in advance,
Check the addSetProperty method. Should help you, I guess. If not
compose the contact using a bean and add it to your map represented
by the next xml level tag (like <contacts>) using addSetNext(..).

Example:

   addCreateObject("*/contact", Contact.class);
   ... (initialize the contact rowId and lastName properties using
addSetProperties)
   addSetNext("*/contact","addContact");

   + top level (or next higher level).
   addCreateObject("contacts", ContactMap.class);

//add method
contacts.addContact(Contact contact) {
    if(contact.isValid())
       contactMap.set(contact.getRowId(), contact.getLastName());
}

I think you can guess the meaning of it.

Summary: Try addSetProperty rule first. If it is not working try the
second approach.


Bye,

Martin (Kersten)



---------------------------------------------------------------------
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