[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] Cannot close an XML file used for parsing
- From: "Pete Cordell" <petexmldev@codalogic.com>
- To: "Jack Bush" <netbeansfan@yahoo.com.au>, <xml-dev@lists.xml.org>
- Date: Tue, 28 Oct 2008 11:12:13 -0000
----- 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@xmlbeans.apache.org .
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: [xml-dev] 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]