2017-02-17 4 views
0

Gibt es trotzdem JavaScript-Variablen in einer XML-Datei, die online gehostet wird? Ich möchte den über die URL übergebenen XML-Inhalt anpassen.Verwenden von JavaScript-Variablen in der XML-Datei

zum Beispiel, wenn ich eine Datei haben sich an

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

hier ist ein Beispiel dafür, was ich versuche zu erreichen

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

wenn ja, wie?

+0

Sie müssen einen serverseitigen Code (Node.js, ASP.NET, PHP usw.) verwenden, um die Anforderung zu empfangen, das XML zu generieren und es zurückzugeben. XML allein kann das, was Sie beschreiben, nicht tun. – JLRishe

+0

@JLRishe, wie würde ich das mit NodeJs tun? Ich habe den Code geschrieben, einfach die Datei schreiben, aber ich bin nicht in der Lage, auf Heroku oder irgendwo zu hosten - da es rohe XML-Datei sein muss, kann ich es nicht in S3 speichern, usw. –

Antwort

1

Twilio Entwickler Evangelist hier.

Um Inhalte in einer XML-Datei anpassen, müssen Sie die XML-Daten aus einer Server-Seite Sprache irgendeine Art zu erzeugen. Da Sie JavaScript verwenden möchten, ist Node.js wahrscheinlich die beste Wahl.

Ihr Kommentar sagt, dass die Datei eine rohe XML-Datei sein muss, aber ich sehe Sie auf ein incoming phone call with Twilio reagieren. Sie können sofort XML-Antworten mit Node.js erzeugen, um auf Twilio webhooks zu reagieren.

Hier ist ein sehr schnelles Beispiel eines Node.js-Server, die express framework mit, dass mit dem Namen in der Art und Weise Sie in der Frage vorschlagen würde antworten (beachten Sie, dass Twilio keinen Namen Abfrageparameter wird übergeben, wenn es webhook requests macht). Es nutzt die Twilio Node.js helper library die XML-on-the-fly zu generieren:

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); 

Sie benötigen würde dies irgendwo hosten, die Node.js Anwendungen ausgeführt werden können.

Lassen Sie mich wissen, ob das überhaupt hilft.

+0

danke phil, aber ich muss die XML-Datei dafür erstellen für ein paar Stunden auf meiner Seite zu leben. Heroku erlaubt das nicht .. das war mein letzter Ausweg, um eine statische 'Vorlage' Twiml zu haben und einfach versuchen, die Variablen zu übergeben. irgendwelche Vorschläge @phil? –

+0

Warum müssen Sie das XML erstellen und hosten? Ich fühle mich, als würde ich hier etwas vermissen. – philnash

+0

, weil sie benutzergeneriert sind, benutzerdefinierte var haben und in der Zukunft @phil –

Verwandte Themen