Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript res.send XML在Express中提供空文档_Javascript_Node.js_Express - Fatal编程技术网

Javascript res.send XML在Express中提供空文档

Javascript res.send XML在Express中提供空文档,javascript,node.js,express,Javascript,Node.js,Express,我正在尝试返回sml响应的简单api: const express = require('express'); const bodyParser = require('body-parser'); const cors = require('cors'); const libxmljs = require("libxmljs"); const PORT = process.env.PORT || 5000; const app = express() app.use(cors()); /

我正在尝试返回sml响应的简单api:

const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');

const libxmljs = require("libxmljs");

const PORT = process.env.PORT || 5000;

const app = express()

app.use(cors());
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))

// parse application/json
app.use(bodyParser.json());

app.get('/', (req, res) => {
    res.send({ "message": "success" });
});

app.get('/api', (req, res) => {
    var libxmljs = require("libxmljs");
    var xml =  '<?xml version="1.0" encoding="UTF-8"?>' +
               '<root>' +
                   '<child foo="bar">' +
                       '<grandchild baz="fizbuzz">grandchild content</grandchild>' +
                   '</child>' +
                   '<sibling>with content!</sibling>' +
               '</root>';

    var xmlDoc = libxmljs.parseXml(xml);

    // xpath queries
    var gchild = xmlDoc.get('//grandchild');

    console.log(gchild.text());  // prints "grandchild content"

    var children = xmlDoc.root().childNodes();
    var child = children[0];

    console.log(child.attr('foo').value()); // prints "bar"

    res.set('Content-Type', 'text/xml');
    res.send(xmlDoc);
});

app.listen(PORT, () => {
    console.log(`App running on PORT ${PORT}`)
});

请帮助

我看到您从github repo复制了代码

您将作为响应发送xml对象,而不是字符串

而不是

res.send(xmlDoc);

res.send(xmlDoc);
res.send(xml);