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