在请求正文中parsingXML

使用Restify ,我们希望在主体中接收到带有XML的POST请求。

我正在使用server.use(restify.bodyParser())来parsing请求的主体,但请求来与Content-Type: application/xml ,我不是100%确定这是处理的最好方法它。

 myRestifyServer.post('/my/place/to/post/to', function (req, res, next) { var xml = req.body; // ? var myObject = myFavouriteXmlParser(xml) // and so on... }) 

然而,req.body似乎包含和对象与一个type属性和一个data属性 – 大概是bodyParser的默认行动,当它不知道如何处理。

是否有可能以某种方式扩展bodyParser来接受application/xml并将其解码,或者我需要创build一个新的插件来实现这个function?

bodyParser中间件不能处理XML正文数据。 但是,如果要使用它,则必须使用bodyParser.raw([options])bodyParser.text([options])并将返回的数据提供给xmlparsing库。

在你的情况下更好的解决scheme是使用另一个中间件来处理包含XML正文数据的请求。

一些例子: