2017-02-17 37 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 –