Saving huge amount of data to XML file
843834Oct 22 2001 — edited Oct 9 2002Hello 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!