2017-02-17 38 views
0

有没有办法在联机托管的XML文件中使用JavaScript变量?我想定制在URL上传递的XML内容。在XML文件中使用JavaScript变量

例如,如果我有位于

www.mywebsite.com/file.xml?NAME=JOE文件

这里是什么,我试图完成

为例
//XML FILE 
    <Response> 
    <Say voice="alice"> 
      Hey Im this is a great xml file {{NAME}} 
    </Say> 
    </Response> 

如果是这样,怎么样?

+0

您需要使用一些服务器端代码(Node.js,ASP.NET,PHP等)来接收请求,生成XML并返回它。 XML本身不能完成你所描述的内容。 – JLRishe

+0

@JLRishe,我将如何与nodejs做到这一点?我写的代码,只是写文件,但我无法托管在Heroku或任何地方 - 因为它必须是原始的XML文件,我不能存储在S3等 –

回答

1

Twilio开发者传道士在这里。

为了定制XML文件中的内容,您需要从某种服务器端语言生成XML。既然你想使用JavaScript,那么Node.js可能是你最好的选择。

你的评论说该文件必须是一个原始的XML文件,但我看到你正在回应incoming phone call with Twilio。您绝对可以通过Node.js生成XML响应以响应Twilio webhooks

下面是Node.js服务器的一个非常快速的例子,使用express framework,它会以您在问题中建议的方式响应该名称(请注意,Twilio在传递webhook requests时未通过Name查询参数)。它使用Twilio Node.js helper library以动态生成的XML:

var express = require('express'); 
var twilio = require('twilio'); 

var app = new express(); 

app.post('/voice', function(request, response) { 
    var name = request.query.Name; 
    var twiml = new twilio.TwimlResponse(); 
    twiml.say('Hey! This is a great x m l file ' + name); 

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

app.listen(3000); 

您需要举办这个地方,可以运行Node.js的应用程序。

让我知道这是否有帮助。

+0

谢谢菲尔,但我需要创建它的XML文件在我的网站上住几个小时。 heroku不允许的..这是我最后的手段有一个静态的'模板'twiml,只是尝试传递变量.. 任何建议@phil? –

+0

为什么你需要创建和托管XML?我觉得我在这里错过了一些东西。 – philnash

+0

,因为他们是用户生成的,有自定义变种,必须在将来可访问@phil –