我的任务看似很简单:服务器发布一个XML文件。 我将那个XML文件转换为JSON并通过res.send()返回。 我在Express中使用Node.js,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使它工作。