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

How to get request parameter in xml file

我有一个 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>';

但它给出了一个错误 Error - 12100 Document parse failure

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

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

例如,您可以在 call_forward.php 中使用以下代码(注意 .php,而不是 .xml):

<?php
$number = @$_GET['PhoneNumber'];
if (!preg_match('|\+?[0-9- ]+|', $number))
    die('Invalid PhoneNumber');
header('Content-type: text/xml');
?><?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Dial><?php echo $number; ?></Dial>
    <Say>Hello, Have a good day!</Say>
</Response>

我已通过 Twimil Bin 应用程序找到解决方案

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

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

赞:https://handler.twilio.com/twiml/EHb1d23ebc567f87f6a211d48d7abe?PhoneNumber=+91123456789

它将替换 {{PhoneNumber}}