0

このコードを USPS API に接続して、詳細な応答の長い情報のリストを取得し、サービス名と料金を取得します。

(|) で区切られたサービス名と料金のみを応答するにはどうすればよいですか?

<?php
$devurl = "http://Production.ShippingAPIs.com/ShippingAPI.dll";
$puburl = "http://Production.ShippingAPIs.com/ShippingAPI.dll";
$service = "IntlRateV2";
$userid = "xxxxx";
$xml = rawurlencode('<IntlRateV2Request USERID="xxxxx">
<Package ID="1ST">
    <Pounds>15</Pounds>
    <Ounces>0</Ounces>
    <MailType>Package</MailType>
    <ValueOfContents>50</ValueOfContents>
    <Country>Jordan</Country>
    <Container>RECTANGULAR</Container>
    <Size>LARGE</Size>
    <Width>10</Width>
    <Length>15</Length>
    <Height>10</Height>
    <Girth>0</Girth>
    <CommercialFlag>N</CommercialFlag>
    </Package>  
</IntlRateV2Request>');
$request = $devurl . "?API=" . $service . "&xml=" . $xml;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo "<pre>";
print_r($response);
echo "</pre>";
4

2 に答える 2

0

USPS は、あらかじめ定義された形式で応答を送信します。応答をxmlに変換し、ループを使用してそれを解析して、目的の形式に変換する必要があります。

応答には、コストと納期が異なる多数のサービスが含まれます。ここでは、「xml2array」関数を使用して xml を配列に変換しました。インターネットで見つけるか、私に連絡してください。配列に変換した後、サービスを解析できます。

詳細については、http: //uspsship.blogspot.in/もご覧ください。

于 2014-01-28T12:31:04.210 に答える