shared items

Wednesday, March 18, 2009

DOM to BLOB to DOM


private void test1() throws ParserConfigurationException {
ByteArrayOutputStream baos = new ByteArrayOutputStream(5120);
DocumentBuilderFactory doc1 = DocumentBuilderFactory.newInstance();
DocumentBuilder doc2 = doc1.newDocumentBuilder();
Document doc = doc2.newDocument();
org.w3c.dom.Element elem1 = doc.createElement("name1");
doc.appendChild(elem1);
org.w3c.dom.Node node = doc.getFirstChild();
TransformerFactory tfact = TransformerFactory.newInstance();
try {
Transformer tf = tfact.newTransformer();
StringWriter sw = new StringWriter();
Result rs = new StreamResult(sw);
Source src = new DOMSource(node);
tf.transform(src, rs);
baos.write(sw.toString().getBytes());
Object a = baos.toByteArray();
baos.flush();
baos.reset();
baos.close();

sw.close();
System.err.println(sw.toString());
System.err.println(a.toString());
String n = new String((byte[])a);
try {
Document doc12 = doc2.parse(new InputSource(new StringReader(n)));
System.err.println(doc12.toString());
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.err.println("........."+n);

} catch (TransformerConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TransformerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}