我的任务看似简单:服务器发布XML文件。我接受XML-File并将其转换为JSON并通过res.send()返回; 我使用Node.js与Express,express-bodyparser,xml2js库和express-json。 (也尝试过express-xml-bodyparser)
我的代码应该是这样的:
[...]
app.post('/postXML', function(req,res,next){
xml2jsParser.parseString(req.body, function(err, result){
if(!err){
res.send(result);
}else{
console.log(err);
}
});
parser.reset();
});
[...]
我的问题是:req.body看起来像这样{" /*XML-file*/ "}
typeof返回[object]。 xml2js解析器无法使用它。所以我的两个解决方案看起来像这样:
xml2js需要一个字符串,如下所示:
var xml = "<outer><inner attributename = "content"></inner></outer>"
发布的XML文件格式正确,默认格式正确。我用xml2json手动测试它,它工作正常。我得到的内容也是正确的形式。为了进一步自动化,我只需要通过Http-post来实现这一点。