0

I'm new to node.js and trying to convert my spring mvc restful webservice on Node.js. I managed to succeed up to certain extent but one show stopper for me is, that My consumer is a html5 based phoneapp and can consume only xml based response, but in Node.js I m getting only json response. Please refer the below code snippet.

exports.area = function(client, res) {
    client
            .query(
                    "select * from storeinfo",
                    function(err, results, fields) {

                        if (err) {
                            throw err;
                        }                                                                   
                        res.json(results);
                        //res.send(results);                        


                    });
};

Please let me know how to response text as xml instead of json(res.json(results)).

Please refer the link to know the format of xml I required as response.

http://www.ibm.com/developerworks/webservices/library/wa-spring3webserv/Figure1.JPG

Thanks Jitender

Jitender
  • 51
  • 1
  • 2
  • 7
  • 1
    What are you using to send the response? It looks like you're probably using Express, but you need to specify as Node.js doesn't know or care what you send to clients. – Brad Nov 22 '13 at 19:55

3 Answers3

9
res.header('Content-Type','text/xml').send(xml)
Chirag Jain
  • 2,378
  • 3
  • 21
  • 22
0

you can install object-to-xml library

npm install --save object-to-xml

and then try this

 var o2x = require('object-to-xml');
    res.set('Content-Type', 'text/xml');
    res.send(o2x({
       '?xml version="1.0" encoding="utf-8"?' : null,
         clients: { client: results}
        }));
Dghaies Ahmed
  • 75
  • 1
  • 2
  • 10
0

you can try to without any library to output xmlstring.

res.type('text/xml').send("<libarary><book>2</book></libarary>")
MilanBogic
  • 162
  • 3
  • 9