我有一个文件localy,结构如下:
<?xml version='1.0' encoding='UTF-8'?>
<foxydata>
<store_version>2.0</store_version>
<result>ERROR</result>
<messages>
<context>2008</context>
<message>Transaction Not Found (transaction_id:25)</message>
</messages>
</foxydata>
我想读取该文件并将其返回给浏览器,因此我的代码如下:
options =
encoding = 'UTF8'
fs.readFileSync(filepathXML, options, (err, data) ->
throw err if err
return data
)
我可以读取文件,但浏览器上的结果如下:
2.0SUCCESSTransaction Found
我知道是什么导致了这个问题或者如何读取xml文件,我应该在readFile上定义其他内容吗?
答案 0 :(得分:2)
在readFileSync
中没有第三种选择。也许你的意思是readFile
?
1
var fs = require('fs');
console.log(fs.readFileSync('./test.xml', {encoding: 'utf-8'}));
2
var fs = require('fs');
var http = require('http');
http.createServer(function (req, res) {
res.setHeader('Content-Type', 'text/xml');
res.end(fs.readFileSync('./test.xml', {encoding: 'utf-8'}));
}).listen(8811);
3
var express = require('express'),
app = express();
app.get('/', function (req, res) {
res.set('Content-Type', 'text/xml');
res.send(fs.readFileSync('./test.xml', {encoding: 'utf-8'}))
})
app.listen(3000);
答案 1 :(得分:0)
fs = require('fs');
var parser = require('xml2json');
fs.readFile( './data.xml', function(err, data) {
var json = parser.toJson(data);
console.log("to json ->", json);
});