[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Cannot close an XML file used for parsing
On Oct 28, 2008, at 8:41 AM, Jack Bush wrote: > Hi Robert, > > Thanks for responding to this post. > > I have added your suggestion but the issue still persist. > Nevertheless, I do believe that this is caused by the new XML file > not having been closed properly. Well, sure, but closing it in the finally block should close it. You are closing the in and out in the finally block, right? At a different level, since you want this to be XML, you might try using tagsoup as your SAX parser: http://home.ccil.org/~cowan/XML/XML/tagsoup/ this will clean up your HTML for you so you can hopefully avoid the error in the first place. However, before you do that, it would be a good idea to find out why you can't close your streams. Also, perhaps separate out the read and write into two different try blocks. best, -Rob > > There is no problem with light-html2xml method which has worked in > the past. > > Any more suggestion to try out? > > Thanks, > > Jack > > From: Robert Koberg <rob@k...> > To: Jack Bush <netbeansfan@y...> > Cc: xml-dev@l... > Sent: Tuesday, 28 October, 2008 9:42:21 AM > Subject: Re: Cannot close an XML file used for parsing > > > close the stream or reader in a finally block to avoid leaving it open > if an error occurs. > > try{ > }catch(....){ > }finally { > } > > On Oct 27, 2008, at 6:03 PM, Jack Bush wrote: > > > Hi All, > > > > I appears to have difficulty closing (possibly flushing it first) an > > XML file that was subsequently being parsed without success. The > > error generated is: > > > > org.jdom.input.JDOMParseException: Error on line 23: The element > > type "form" must be terminated by the matching end-tag "</form>". > > > > Below is the code snippets of readData() to retrieve (HTML) data > > from a website, save it to a file, then convert to XML format before > > returning the new filename: > > public String readData() { > > > > try { > > URL url = new URL("http://www.abc.com"); > > URLConnection connection = url.openConnection(); > > InputStream isInHtml = url.openStream(); // throws an > > IOException > > disInHtml = new DataInputStream(new > > BufferedInputStream(isInHtml)); > > System.out.flush(); > > FileOutputStream fosOutHtml = null; > > fosOutHtml = new FileOutputStream("C:\\Temp\\ABC.html"); > > int oneChar, count=0; > > while ((oneChar=disInHtml.read()) != -1) > > fosOutHtml.write(oneChar); > > isInHtml.close(); > > disInHtml.close(); > > fosOutHtml.flush(); // optional > > fosOutHtml..close(); > > ..... > > } > > > > try { > > File fileInHtml = new File("C:\\Temp\\ABC.html"); > > FileReader frInHtml = new FileReader(fileInHtml); > > BufferedReader brInHtml = new BufferedReader(frInHtml); > > String string = ""; > > while (brInHtml.ready()) > > string += brInHtml.readLine() + "\n"; > > fwOutXml = new FileWriter("C:\\Temp\\ABC.xml"); > > pwOutXml = new PrintWriter(fwOutXml); > > light_html2xml html2xml = new light_html2xml(); > > pwOutXml.print(html2xml.Html2Xml(string)); > > system.out.flush() // optional > > fwOutXml.flush(); // optional > > fwOutXml.close(); > > pwOutXml.flush(); // optional > > pwOutXml.close(); > > return fileInHtml.getAbsolutePath(); > > .... > > } > > } > > > > // parseData reads the XML file using the name returned by > readData() > > public void parseData(String XMLFilename) > > { > > try > > { > > FileReader frInXml = new FileReader(FileName); > > BufferedReader brInXml = new BufferedReader(frInXml); > > SAXBuilder saxBuilder = new > > SAXBuilder("org.apache.xerces.parsers.SAXParser"); // > > JDOMParseException generated. > > .... > > } > > These codes would worked when they were in a single method but I > > have since placed some structure around them using a number methods. > > > > This issue has risen in th past where I have been able to close the > > XML file prior to reading them again. However, I don't have a > > solution for it this time round. > > > > I am running JDK 1.6.0_10, Netbeans 6.1, JDOM 1.1 on Windows XP > > platform. > > > > Any assistance would be appreciated.. > > > > Many thanks, > > > > Jack > > > > Make the switch to the world's best email. Get Yahoo!7 Mail. > > > _______________________________________________________________________ > > XML-DEV is a publicly archived, unmoderated list hosted by OASIS > to support XML implementation and development. To minimize > spam in the archives, you must subscribe before posting. > > [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/ > Or unsubscribe: xml-dev-unsubscribe@l... > subscribe: xml-dev-subscribe@l... > List archive: http://lists.xml.org/archives/xml-dev/ > List Guidelines: http://www.oasis-open.org/maillists/guidelines.php > > > Search 1000's of available singles in your area at the new Yahoo!7 > Dating. Get Started.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|