i've used digester before and found it pretty straightforward, you probably
just needed an extra hour :-)  but i recently read this article on Castor
XML (by a frequent poster to this list):
<http://www.onjava.com/pub/a/onjava/2001/10/24/xmldatabind.html>
and am thinking this may be my future xml parsing tool.  i haven't had a
chance to use it yet, but it looks amazingly simple.

ab

> -----Original Message-----
> From: Matt Raible [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, March 07, 2002 12:51 PM
> To: Struts Users Mailing List
> Subject: RE: "Best Practice" for parsing an XML file - Code Review
> Requested
> 
> 
> I "tried" to use digester - documentation/samples weren't 
> good enough OR I
> wasn't smart enough to figure it out.
> 
> I tried for an hour or 2 to get it to work and gave up.
> 
> Matt
> 
> --- Phase Web and Multimedia <[EMAIL PROTECTED]> wrote:
> > Why not use Digester. I use it to parse config info for 
> various classes. It
> > is quite easy and fast.
> > 
> > Brandon Goodin
> > Phase Web and Multimedia
> > P (406) 862-2245
> > F (406) 862-0354
> > [EMAIL PROTECTED]
> > http://www.phase.ws
> > 
> > 
> > -----Original Message-----
> > From: Matt Raible [mailto:[EMAIL PROTECTED]]
> > Sent: Wednesday, March 06, 2002 3:13 PM
> > To: Struts Users Mailing List
> > Subject: RE: "Best Practice" for parsing an XML file - Code Review
> > Requested
> > 
> > 
> > I've completed this task - however, it would've been MUCH 
> easier to just use
> > a
> > properties file.  Of course, it could just be my experience with XML
> > parsing -
> > because I had to write a lot of code to grab 4 simple varaibles.
> > 
> >     private synchronized void loadConfig() throws Exception {
> > 
> >         // Initialize our configuration object
> >             config = new Configuration();
> > 
> >         logCat.debug("Looking for " + configFile + " in " +
> > Constants.USER_HOME);
> > 
> >             // Acquire an input stream to our configuration file
> >         InputStream is = new FileInputStream(Constants.USER_HOME +
> > configFile);
> > 
> >         // No file found in user.home
> >         if (is == null) {
> >             logCat.debug("File not found at " + 
> Constants.USER_HOME +
> > configFile
> >                     + " - looking in application's WEB-INF 
> directory");
> > 
> >                     // Look for config.xml in WEB-INF
> >                     is = getServletContext()
> >                     .getResourceAsStream("/WEB-INF/" + configFile);
> > 
> >             if (is == null) {
> >                 throw new Exception("Configuration file '"
> >                     + configFile + "' not found in '"
> >                     + Constants.USER_HOME + "', nor in 
> '/WEB-INF/'");
> >             }
> >         }
> > 
> > 
> >             // Get the XML Document
> >         DocumentBuilderFactory builderFactory =
> > DocumentBuilderFactory.newInstance();
> >             DocumentBuilder builder = 
> builderFactory.newDocumentBuilder();
> >             Document doc = builder.parse(is);
> > 
> >             // close the input stream
> >             is.close();
> > 
> >         // get the repository root
> >             NodeList rep = doc.getElementsByTagName("root");
> >         Node node = rep.item(0);
> >         Text rootDir = (Text) node.getFirstChild();
> >         config.setRepositoryRootDir(rootDir.getNodeValue());
> > 
> >         // get the assets directory
> >         rep = doc.getElementsByTagName("assets");
> >         node = rep.item(0);
> >         Text assetDir = (Text) node.getFirstChild();
> >         config.setAssetDir(assetDir.getNodeValue());
> > 
> >         // get the assetView path
> >         rep = doc.getElementsByTagName("viewPath");
> >         node = rep.item(0);
> >         Text viewPath = (Text) node.getFirstChild();
> >         config.setAssetViewPath(viewPath.getNodeValue());
> > 
> >         // get the assetView path
> >         rep = doc.getElementsByTagName("default-passing-score");
> >         node = rep.item(0);
> >         Text minScore = (Text) node.getFirstChild();
> >         config.setAssessmentMinScore(new
> > Double(minScore.getNodeValue()).doubleValue());
> > 
> >         logCat.debug(config.toString());
> > 
> >     }
> > 
> > --- Ronald Haring <[EMAIL PROTECTED]> wrote:
> > > > Nothing is wrong with the properties file...Xml is just better
> > > >
> > > > 1.  one config.xml file in one central place...it's so much
> > > > easier to manage
> > > > then a whole bunch of properties
> > >
> > > You can put all your properties in one file as well, lets 
> call that file
> > > config.properties
> > >
> > > > 2.  xml handle the structure data much better then 
> properties file
> > >
> > > data structure might be nice for communications between 
> computers but for
> > > users?
> > > e.g.
> > > RepositoryRoot=d:\
> > > RepositoryAssets=assets
> > > RepositoryViewPath=file://d:/repository/assets
> > >
> > > seems just as clear to me as
> > > > >       <respository>
> > > > >               <root>d:/repository</root>
> > > > >               <assets>assets</assets>
> > > > >               <viewPath>file://d:/repository/assets</viewPath>
> > > > >       </respository>
> > > etc.
> > >
> > > Cons of xml
> > > - Carefull with that ",<,> sign eugene,
> > > - Slow parsing
> > >
> > > Gr
> > > Ronald
> > >
> > >
> > > Furore B.V.
> > > Rijswijkstraat 175-8
> > > Postbus 9204
> > > 1006 AE Amsterdam
> > > tel. (020) 346 71 71
> > > fax. (020) 346 71 77
> > >
> > > 
> --------------------------------------------------------------
> ------------
> > --
> > > ---------------
> > > The information transmitted is intended only for the person
> > > or entity to which it is addressed and may contain confidential
> > > and/or privileged material. Any review, retransmission,
> > > dissemination or other use of, or taking of any action in
> > > reliance upon, this information by persons or entities other
> > > than the intended recipient is prohibited. If you received
> > > this in error, please contact the sender and delete the material
> > > from any computer
> > > 
> --------------------------------------------------------------
> ------------
> > --
> > > ---------------
> > >
> > >
> > 
> > 
> > __________________________________________________
> > Do You Yahoo!?
> > Try FREE Yahoo! Mail - the world's greatest free email!
> > http://mail.yahoo.com/
> > 
> > --
> > To unsubscribe, e-mail:
> > <mailto:[EMAIL PROTECTED]>
> > For additional commands, e-mail:
> > <mailto:[EMAIL PROTECTED]>
> > 
> > 
> > 
> > --
> > To unsubscribe, e-mail:   
<mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
> 


__________________________________________________
Do You Yahoo!?
Try FREE Yahoo! Mail - the world's greatest free email!
http://mail.yahoo.com/

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

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

Reply via email to