Ronald
Ronald

Reputation: 2917

How to put jdom Document in Inputstream

I use the following code to put a jdom document in InputStream:

    Document doc = new Document();
    doc.setRootElement(root);
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    Source xmlSource = new DOMSource(doc);
    Result outputTarget= new StreamResult(outputStream);
    TransformerFactory.newInstance().newTransformer().transform(xmlSource, outputTarget);
    InputStream inputstream = new ByteArrayInputStream(outputStream.toByteArray());

I get the followingerror on Source xmlSource = new DOMSource(doc);: 'DOMSource(org.w3c.dom.Node)' in 'javax.xml.transform.dom.DOMSource' cannot be applied to '(org.jdom.Document)'

How to solve this problem?

Upvotes: 0

Views: 1136

Answers (2)

singularwit
singularwit

Reputation: 1

Here is an easier approach (assumes using JDOM API).

Document doc = new Document();
doc.setRootElement(root);
XMLOutputter outputter = new XMLOutputter();
String docString = outputter.outputString(doc );
InputStream inputstream = new ByteArrayInputStream(docString .toByteArray());

Upvotes: 0

Ronald
Ronald

Reputation: 2917

I have solved the problem by replacing DOMSource by JDOMSource

Upvotes: 2

Related Questions