3

私はPHPとXMLに取り組んでいます。origin,Destination,Journeydate,Returndate特定の URLなどにいくつかの値を送信しています。私の値によると、その結果、その URL でいくつかの XML データが生成されます。今、私はその生成された結果(XMLデータ)を取得し、自分のページに印刷したいと考えています。

URLのデータを印刷するために以下のコードを試しました

$url="your url";

$xmlinfo = simplexml_load_file($url);

print_r($xmlinfo);

機能していません。

静的 XML データを含む URL で機能すると思います。

しかし、ここでは、いくつかの値を 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>

事前にありがとう、ショウバ

4

1 に答える 1

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);
于 2013-04-30T10:58:07.110 に答える