2013-04-30 51 views
3

我正在研究PHP和XML。我将一些值如origin,Destination,Journeydate,Returndate发送到特定的URL。因此,根据我的值,一些XML数据正在该URL中生成。现在我想获取生成的结果(XML数据)并打印在我的页面上。如何从URL中获取动态XML数据

我曾尝试下面的代码打印一个URL

$url="your url"; 

$xmlinfo = simplexml_load_file($url); 

print_r($xmlinfo); 

它不工作的数据。

我认为它适用于包含静态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

+0

您可以检查生成的URL是工作/开码直接到浏览器,而不是在代码中工作。我会建议你使用'CURL'方法。 – Rikesh 2013-04-30 10:56:18

+0

@Rikesh我对CURL没有任何想法。 – user2335484 2013-04-30 11:52:21

+0

你可以在这里阅读CURL:http://codular.com/curl-with-php – 2013-04-30 11:53:12

回答

0

尝试

$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); 
+0

我的问题是我要在这里我的Above Code ..请告诉我 Regards, Shoba – user2335484 2013-04-30 11:01:01

+0

The我提供的代码应该取代上面给出的php代码。我不明白你的问题。 – 2013-04-30 11:03:41

+0

实际上我没有给出上面给出的PHP代码,我在不同的文件和URL中试过了,我给出了一些包含一些静态XML数据的URL。但是现在我想把这段代码放在上面的HTML代码中。意思是点击提交后,PHP代码应该提交。因此,我问你在哪里放置该PHP代码.. Regards, Shoba – user2335484 2013-04-30 11:17:15