我有一个包含以下内容的php文件:
<?php
$no = $_POST['no'];
$url = "http://domain.tld/answer.xml";
?>
$ url存储链接到xml文件的URL,xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<vxml version = "2.1" >
<Call> </Call>
</vxml>
我想将$ _POST [&#39; no&#39;]传递给我的xml文件。假设$ _POST [&#39; no&#39;]是9999988888,那么xml中的标记应该是这样的:
<Call>9999988888</Call>
有人能告诉你怎么做吗? :)
xml文件在我自己的服务器上。
答案 0 :(得分:1)
你可以使用simplexml,因为:
$no = $_POST['no'];
$xml = simplexml_load_file('your_xml_file.xml');
$xml->Call = $no;
//save/update your xml
$xml->asXML('your_xml_file.xml');
答案 1 :(得分:0)
您需要使用PHP生成xml。
首先,将.xml重命名为.php。
然后,使用
启动它<?php
header('Content-type: text/xml');
?>
当您到达来电标签时,请将其更改为:
<Call><?php echo intval($_GET['no']); ?></Call>
注意:我假设您的no
是一个数字。如果不是,请删除intval
。它很好,因为它可以保护你免受注射。
最后,使用以下命令调用XML文件:
$url = "http://domain.tld/answer.php?no=8877454";
答案 2 :(得分:0)
您的XML应该有一些关键字,即
<?xml version="1.0" encoding="UTF-8"?>
<vxml version = "2.1" >
<Call>{{CALL}}</Call>
</vxml>
在您的PHP文件中,只需获取此XML&amp;使用str_replace替换这些关键字,
<?php
$no = $_POST['no'];
$url = "http://domain.tld/answer.xml";
$xml = file_get_contents($url);
$newXML = str_replace("{{CALL}}", $no, $xml);
header('Content-type: text/xml');
echo $newXML;
?>