Howdy, As everyone else illustrated, there are many options and each one has advantages and disadvantages. I don't like JDOM too much because it seems dead (at least as far as the open-source / XML standard pace goes), not having released anything in 10 months or so.
I like writing my own SAX parsers, as that's the fastest way of doing things, if it's a task I don't have to do often and the schema is fairly stable. Otherwise it can be too low-level. As in many other aspects, a good developer has a full toolbox and knows which tool is best for which job ;) This is gained from experience, so go play and have fun... Yoav Shapira Millennium ChemInformatics >-----Original Message----- >From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] >Sent: Saturday, January 04, 2003 1:02 PM >To: Tomcat Users List >Subject: Re: Loading XML Files - Best Pracitices > >Howdy, > >Thanks for all the good suggestions. I'm going with JDOM, just because >it's pretty darn elegant and simple. It also appears that it will be >(if not already) an XML standard for Java. So all signs indicate that >I'm not marrying myself to an obscure API. > >Do any of you have reservations about JDOM? > >Thanks, >-FB > >On Saturday, January 4, 2003, at 08:02 AM, Jacob Kjome wrote: > >> >> Well, >> >> There are a number of parsers available. You can use DOM, JDOM, >> DOM4J, SAX, or, actually, you might want to try out XPath using Jaxen. >> >> Here is an example of reading in a document using DOM....and no >> specific external package so you don't marry yourself to a particular >> implementation... >> >> DocumentBuilderFactory dbfactory = >> DocumentBuilderFactory.newInstance(); >> dbfactory.setNamespaceAware(true); >> Document doc = null; >> try { >> DocumentBuilder dbuilder = dbfactory.newDocumentBuilder(); >> InputStream = context.getResourceAsStream("/WEB-INF/mydoc.xml"); >> doc = dbuilder.parse(is); >> } >> catch (ParserConfigurationException pce) {} >> catch (SAXException se) {} >> catch (IOException ioe) {} >> >> >> You can then grab a NodeList of some part of the document and iterate >> through that or you can then use Jaxen to get to specific data with >> XPath queries.... >> >> >> try { >> XPath xpath = new >> DOMXPath("//MyElement[@myAttribute='someSpecificValue']/ >> AnotherElement"); >> Node node = (Node)xpath.selectSingleNode(domainDoc); >> //now do something with the node >> } >> catch (XPathSyntaxException xse) {} >> catch (JaxenException je) {} >> >> >> If you know, in advance, all the elements you will need to read, then >> you might want to write a SAX parser for your document. It will be >> the fastest method....or you could use XML data binding using Zeus or >> JAXB which will allow you to read in a whole document and access all >> the data using standard Java Bean getters and set the values using >> standard Java bean setters. In this case, you don't even need to >> worry about XML since the fact that it is XML is totally hidden from >> you. You can then marshal your updated object (assuming you modified >> it) back to an XML document. >> >> There are lots of ways to do this. Which way you choose depends on >> your needs and what API's you feel most comfortable with. >> >> Jake >> >> >> At 07:29 PM 1/3/2003 -0600, you wrote: >>> I have a servlet and I want it to read it's data from an XML file. >>> There's more than one way of doing this task and I'm fishing for best >>> practices. >>> Can anyone provide me with some links to example code? I'm sure this >>> has been beaten to death and I don't want to reinvent the wheel. >>> >>> Thanks! >>> >>> >>> -- >>> To unsubscribe, e-mail: >>> <mailto:[EMAIL PROTECTED]> >>> For additional commands, e-mail: >>> <mailto:[EMAIL PROTECTED]> > > >-- >To unsubscribe, e-mail: <mailto:tomcat-user- >[EMAIL PROTECTED]> >For additional commands, e-mail: <mailto:tomcat-user- >[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>