2017-02-17 19 views
0

Можно ли использовать переменные JavaScript в XML-файле, который размещен в Интернете? Я хочу настроить содержимое XML, переданное по URL-адресу.Использование переменных JavaScript в файле XML

, например, если у меня есть файл, расположенный на

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

Чтобы получить запрос, сгенерируйте XML и верните его, вам понадобится код сервера (Node.js, ASP.NET, PHP и т. Д.). XML сам по себе не может делать то, что вы описываете. – JLRishe

+0

@JLRishe, как бы я это сделал с nodejs? Я написал код, просто записав файл, но Im не смог разместить на геройку или где угодно - так как это должен быть необработанный XML-файл, я не могу его сохранить в S3 и т. Д. –

ответ

1

Twilio разработчик евангелист здесь.

Для того, чтобы настроить контент в XML-файле, вам необходимо сгенерировать XML со своего языка на стороне сервера. Поскольку вы хотели бы использовать JavaScript, то Node.js, вероятно, лучший выбор.

Ваш комментарий говорит, что файл должен быть необработанным XML-файлом, но я вижу, что вы отвечаете на incoming phone call with Twilio. Вы можете абсолютно генерировать «на лету» ответы XML с помощью Node.js, чтобы ответить на Twilio webhooks.

Вот очень быстрый пример сервера Node.js, используя express framework, который будет отвечать именем так, как вы предлагаете в вопросе (обратите внимание, что Twilio не передает параметр запроса имени, когда он делает webhook requests). Он использует 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

спасибо phil, но мне нужно создать для него файл XML чтобы жить на моем сайте в течение нескольких часов. heroku не позволяет этого .. это было мое последнее средство, чтобы иметь статический «шаблон» twiml и просто попробовать передать переменные. любые предложения @phil? –

+0

Зачем вам нужно создавать и размещать XML? Я чувствую, что здесь что-то не хватает. – philnash

+0

потому что они сгенерированы пользователем, имеют пользовательский var и должны быть доступны в будущем @phil –