Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Saving huge amount of data to XML file

843834Oct 22 2001 — edited Oct 9 2002
Hello Folks
Does someone knows haw should I transform huge amount of data to XML file,
Actually I have been working with data structure that have around 15MB (even there is chance to be more) and I have been getting the same error
java.lang.OutOfMemoryError
<no stack trace available>>
I would like to say that my PC has 256 MB memory and application that I have been building should work on PC with less memory.
Here is cod :

TransformerFactory transfFact = TransformerFactory.newInstance();
Transformer transf = transfFact.newTransformer();

javax.xml.parsers.DocumentBuilderFactory docBuilderFactory =
javax.xml.parsers.DocumentBuilderFactory.newInstance();
javax.xml.parsers.DocumentBuilder docBuilder =
docBuilderFactory.newDocumentBuilder();
org.w3c.dom.Document doc = docBuilder.newDocument();


org.w3c.dom.Element root = _doc.createElement("Ep3prjdec");

StringBuffer strB = new StringBuffer();
strB.append("select unique c.* ");
strB.append("from ep3prjdec c ");
PreparedStatement stat = dbCon.prepareStatement(strB.toString());
ResultSet rSet = stat.executeQuery();
boolean more = rSet.next();
while(more){
XMLEp3prjdec object = new XMLEp3prjdec();
Element elXML = _doc.createElement("MainElement");
Element el1 = _doc.createElement("aprjkey");
Object aprjkey = rSet.getObject("aprjkey");
if (aprjkey!= null)
el1.appendChild(_doc.createTextNode(aprjkey.toString().trim()));
Element el2 = _doc.createElement("adecnum");
Object adecnum = rSet.getObject("adecnum");
if (adecnum!=null)
el2.appendChild(_doc.createTextNode(adecnum.toString().trim()));

elXML.appendChild(el1);
elXML.appendChild(el2);
root.appendChild(elXML);
more = rSet.next();

}
}
javax.xml.transform.TransformerFactory transfFact =
javax.xml.transform.TransformerFactory.newInstance();
javax.xml.transform.Transformer transformer = transfFact.newTransformer();
javax.xml.transform.stream.StreamResult result =
new javax.xml.transform.stream.StreamResult("ep3prjdec.xml");
javax.xml.transform.dom.DOMSource source =
new javax.xml.transform.dom.DOMSource(root);

transformer.transform(source,result);
}



If someone knows what I am doing wrong or if someone has some idea pleas tell me.

Thanks in advance

Alex!
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 6 2002
Added on Oct 22 2001
12 comments
453 views