私も必要なので、SimpleXMLを機能させることができません。要素から連想配列を作成したい。xmlは次のようになります
<?xml version="1.0"?>
<RateV4Response>
<Package ID="1">
<ZipOrigination>11901</ZipOrigination>
<ZipDestination>91730</ZipDestination>
<Pounds>0</Pounds>
<Ounces>3.5</Ounces>
<Size>REGULAR</Size>
<Machinable>TRUE</Machinable>
<Zone>8</Zone>
<Postage CLASSID="3">
<MailService>Express Mail</MailService>
<Rate>28.00</Rate>
</Postage>
<Postage CLASSID="2">
<MailService>Express Mail Hold For Pickup</MailService>
<Rate>28.00</Rate>
</Postage>
MailService と Rate は配列でなければなりません。これは私のphpです:
$usps_response = new SimpleXMLElement($result);
foreach($usps_response->Package->Postage as $service)
$data[] = array($service->MailService => $service->Rate);
ここではエラーは表示されませんが、$data は 28 個の空の要素です。私もこれを試しました:
$data[] = array($service['MailService'] => $service['Rate']);
しかし、それは役に立ちませんでした
$service だけを $data[] に割り当てると、それぞれ 3 つのサブ要素 (属性、MailService、Rate) を持つ 28 の要素が表示されます。
私は何を間違っていますか?
データを確認するのに役立つ写真を次に示します