[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
----- Original Message From: "Jack Bush" > I appears to have difficulty closing (possibly flushing it first) an > XML file that was subsequently being parsed without success. > ... If you don't get an answer here you could try the xmlbeans list at user@x... . HTH, Pete Cordell Codalogic Ltd Interface XML to C++ the easy way using XML C++ data binding to convert XSD schemas to C++ classes. Visit http://www.codalogic.com/lmx/ for more info ----- Original Message ----- From: "Jack Bush" Sent: Monday, October 27, 2008 10:03 PM Subject: Cannot close an XML file used for parsing 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! http://au.yahoo.com/y7mail
[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
|