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