I'm not sure about other DB vendors, but Oracle provides an XML Developer's Kit
that includes:
XML SQL Utility: supporting Java, generates XML documents, DTDs and Schemas from
SQL queries.
Haven't used it before but it might be worth a look:
http://otn.oracle.com/tech/xml/xdkhome.html
The roll-your-own approach generally involves using ResultSetMetaData to
dynamically build an XML doc that "looks" something like:
<result-set>
<row id="1">
<!-- each row subelement is a column -->
<firstname>Joe</firstname>
<lastname>Foo</lastname>
...
</row>
...
<result-set>
I don't have a specific reference handy, but you should be able to find some
example code floating around the net...
Quoting David Graham <grahamdavid1980@(protected)>:
> --- Vijay Balakrishnan <vbalakrishnan@(protected):
> > Hi,
> >
> > Is there a way to return this resultset from a SQL Query as an xml file
> > using a beanutils class or Digester ?
>
> I don't know of any class that does that. Every application will require
> its own XML format anyways.
>
> David
>
> >
> > Thanks,
> > Vijay
> >
> > -----Original Message-----
> > From: Craig R. McClanahan [mailto:craigmcc@(protected)]
> > Sent: Monday, July 14, 2003 7:25 PM
> > To: Struts Users Mailing List
> > Subject: Re: Iterating the resultset contents in the view (jsp)
> >
> >
> >
> >
> > On Mon, 14 Jul 2003, Richard Hill wrote:
> >
> > > Date: Mon, 14 Jul 2003 16:36:17 -0700
> > > From: Richard Hill <RHill@(protected)>
> > > Reply-To: Struts Users Mailing List <struts-user@(protected)>
> > > To: "'struts-user@(protected)'"
> > > <struts-user@(protected)>
> > > Subject: Iterating the resultset contents in the view (jsp)
> > >
> > > Hi,
> > > I'm working on an action that gets a resultset from a database table
> > > containing 4 columns. I need to pass that information back to the view
> >
> > > (jsp) which will iterate over results. My question is what is the best
> >
> > > way to do this. Do I create an array for each row in the resultset and
> >
> > > insert each array in a collection, passing that back to the view?
> > >
> >
> > That is certainly one approach. Indeed, commons-beanutils has a useful
> > little class (
org.apache.commons.beanutils.RowSetDynaClass) that is
> > ideally
> > suited to this use case. It creates a List of DynaBeans representing
> > the
> > data content returned by the SELECT. Because it makes a copy, you can
> > close
> > the result set (and return the connection back to the connection pool)
> > before forwarding to the page.
> >
> > > If so, how would you iterate over each array in the collection with
> > > the logic:iterate taglib? All of the examples only show iterations
> > > over single column lists.
> > >
> >
> > Let's assume you have done this in your Action:
> >
> > ResultSet rs = ...;
> > RowSetDynaClass rsdc = new RowSetDynaClass(rs);
> > rs.close();
> > request.setAttribute("customers", rsdc.getList());
> >
> > so you now have a request attribute containing the list. Now, in your
> > page,
> > you can say things like:
> >
> > <logic:iterate id="customer" name="customers">
> > Name is <bean:write name="customer" property="name"/>
> > Status is <bean:write name="customer" property="status"/>
> > </logic:iterate>
> >
> > and so on. Details of RowSetDynaClass are in the javadocs for
> > BeanUtils:
> >
> > http://jakarta.apache.org/commons/beanutils/
> >
> > > Any help would be appreciated.
> > >
> > > Thanks,
> > > Richard
> > >
> >
> > Craig
--
Kris Schneider <mailto:kris@(protected)>
D.O.Tech <http://www.dotech.com/>
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@(protected)
For additional commands, e-mail: struts-user-help@(protected)