我正在研究PHP和XML。我发送一些值,比如origin,Destination,Journeydate,Returndate
到一个特定的URL。因此,根据我的值,在该URL中生成了一些XML数据。现在我想获取生成的结果(XML数据)和打印在我的页面上。
我尝试了下面的代码来打印URL
的数据$url="your url";
$xmlinfo = simplexml_load_file($url);
print_r($xmlinfo);
它不工作。
我认为它将工作的URL将包含静态XML数据。
但是这里我想发送一些值到url。结果将生成,然后我想要得到生成的结果。
这是我如何发送值到URL的代码
<HTML>
<HEAD>
<script language="Javascript">
function submit_search()
{
window.document.forms[0].action="URL";
window.document.forms[0].submit();
}
</script>
</HEAD>
<BODY>
<form method="post">
XML Request:
<input type="text" name="xmlRequest" id="fromcity"
value="<AvailRequest>
<Trip>ONE</Trip>
<Origin>BOM</Origin>
<Destination>JFK</Destination>
<DepartDate>2013-05-01</DepartDate>
<ReturnDate>2013-05-05</ReturnDate>
<AdultPax>1</AdultPax>
<ChildPax>0</ChildPax>
<InfantPax>0</InfantPax>
<Currency>INR</Currency>
<PreferredClass>E</PreferredClass>
<Eticket>true</Eticket>
</AvailRequest>" />
<input type="button" name="SUBMIT" value="submit" onClick="submit_search();"/>
</form>
</BODY>
</HTML>
提前感谢Shoba
Try
$url = 'URL GOES HERE';
//You need to build the front-end to grab and build the xml
//eg: $input_xml = "<AvailRequest><Trip>" . $_POST['trip'] . "</Trip> ......";
$input_xml = "<AvailRequest>
<Trip>ONE</Trip>
<Origin>BOM</Origin>
<Destination>JFK</Destination>
<DepartDate>2013-05-01</DepartDate>
<ReturnDate>2013-05-05</ReturnDate>
<AdultPax>1</AdultPax>
<ChildPax>0</ChildPax>
<InfantPax>0</InfantPax>
<Currency>INR</Currency>
<PreferredClass>E</PreferredClass>
<Eticket>true</Eticket>
</AvailRequest>";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS,
"xmlRequest=" . $input_xml);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
//convert the XML result into array
$array_data = json_decode(json_encode(simplexml_load_string($data)), true);
print_r('<pre>');
print_r($array_data);