XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] 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@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&#39;s best email. Get Yahoo!7 Mail! 
http://au.yahoo.com/y7mail 




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS