Expand my Community achievements bar.

Join us in celebrating the outstanding achievement of our AEM Community Member of the Year!

How to read XML file from DAM and place it in JCR?

Avatar

Level 1

Hi,

I have a requirement wherein i have to read xml file from dam and place that data under nodes in JCR.

Kindly help on this!

4 Replies

Avatar

Level 1

Arun,

Thanks,But this doc tells how to read xml file from our local/desktop.But my question is how from aem dam? Any api and how to use it.

Avatar

Community Advisor

Hi,

You can use Node API to read XML from DAM.

Example:

Node node = req.getResourceResolver().getResource(qs.toString()+"/jcr:content").adaptTo(Node.class);

InputStream in = node.getProperty("jcr:data").getBinary().getStream();

  BufferedReader reader = new BufferedReader(new InputStreamReader(in));

          StringBuilder out = new StringBuilder();

          String line;

          while ((line = reader.readLine()) != null) {

              out.append(line);

          }

          reader.close();

  log.debug("File DATA ==> " + out.toString());

aem63app-repo/ReadFileServlet.java at master · arunpatidar02/aem63app-repo · GitHub

Thanks

Arun



Arun Patidar

Avatar

Level 10

Reading an XML will not be any different whether it came from the DAM or a folder on the desktop.

To get the file from the JCR - you can use the JCR API to retrieve the file (Arun Patidar showed a code snippet).

Then use Java logic to read the XML file.