如何在xml文件中获取请求参数

时间:2019-06-25 11:03:21

标签: php xml twilio twilio-api

我有一个callForward.xml文件,其中包含类似这样的代码,并且我想通过调用url这样用真实的数字替换此{{PhoneNumber}}: https://example.com/callForward.xml?PhoneNumber=+911234567890, 请建议如何在xml文件中获取它?

提前谢谢

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Dial>{{PhoneNumber}}</Dial>
    <Say>Hello, Have a good day!</Say>
</Response>

此文件的用途是拨打我尝试过的.php文件的动态号码,如下所示

<?php echo '<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Dial>'.$_REQUEST['PhoneNumber'].'</Dial>
    <Say>Goodbye</Say>
</Response>';

但它给出了错误错误-12100文档解析失败

注意:请求网址后无法编辑文件。 Twilio第三部分将读取此文件

2 个答案:

答案 0 :(得分:0)

XML是静态格式;如果希望XML输出包含动态内容,则必须编写一个服务器端脚本来响应查询参数并动态输出XML文本。我假设您使用的是PHP,因为您的问题中已标记了PHP。但是您必须注意验证输入,以免有人提供无效的恶意参数。

例如,您可以在String return_value = sharedpreferences.getString("returnResponse", ""); 中使用以下代码(请注意call_forward.php,而不是.php):

.xml

答案 1 :(得分:0)

我已经找到了Twimil Bin应用程序的解决方案

https://support.twilio.com/hc/en-us/articles/230878368-How-to-use-templates-with-TwiML-Bins

创建Twimil bin应用并复制URL并传递您想要动态添加的任何内容

like:declare @Result1 int = 0, @Result1 int = 0, @Total int = 0, @projectID int, @periodID int

它将替换https://handler.twilio.com/twiml/EHb1d23ebc567f87f6a211d48d7abe?PhoneNumber=+91123456789enter image description here