This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Hi I have downloaded xerces.jar and xml4.jar and set the classpath right but still I just dont know which APIs to use extract the data . The following is the xml input I receive as a string: <?xml version='1.0' encoding='ISO-8859-1' ?> <headlines code='POL' language=''> <headline storyid='979637107nL1657083' date='16 Jan 2001' time='14:55' lang='EN'> <code>[G][RNP][PGS][EMK][DE][NEWS][EUROPE][WEU][CRIM][POL][DIP][AT][LEN][RTRS]</code> <text>UPDATE 1-Germany's Fischer faces up to radical past in court</text> </headline><next_headline storyid='979618902nL16460686'/> </headlines> Now from this I want to extract the values of storyid date etc. Do I need to write a DTD for this ? I dont want to validate this XML document. Ajith -- I did download and set the classpath . I tried using the class InputSource and AttributesImpl and their methods but it always gives me null values. I feel really lost please help. I work on linux.
A lot of times an XSL can do the extraction job much easier and faster than an XML. The downside of using XSL is that, you will not be able to process "fragments" of the XML data and/or feed them to a Java program. What I'm trying to say is that, if you just need the display the id( or for that matter any specific part(s) of the XML ), try to write an XSL. If you're requirement is more complicated than that, like doing a DB-lookup based on the ID etc, then you will need a parser interface. If you don't need validation, you don't have to use a DTD. So to begin with just use plain parsing. You will have to do the following -
Set the content handler to your custom content handler.
Pass the XML file to the parser as an URI.
You will need to watchout for the startElement() and endElement() callbacks, and then do the id based lookup from attribute list.
Ofcourse this is the SAX route. You could even do the DOM root. If you need examples, try the Java and XML book by O'Reilly. Goodluck, ------------------ Ajith Kallambella M. Sun Certified Programmer for the Java2 Platform.
Open Group Certified Distinguished IT Architect. Open Group Certified Master IT Architect. Sun Certified Architect (SCEA).