J'utilise Guzzle pour faire une demande XML à une API externe dans le back-end.Comment analyser SimpleXMLElement dans php/Laravel 5?
C'est là que je crée le client Guzzle:
$client = new Client(); //GuzzleHttp\Client
C'est là que je fais la demande:
$request = $client->request('GET', 'This is where I put the URL');
C'est là que je reçois la réponse Guzzle et essayer de l'analyser:
$xml = $request->getBody()->getContents();
$xml = new \SimpleXMLElement($xml);
$xml = simplexml_load_string($xml);
Si je fais ceci:
dd($xml);
Je reçois ce en retour:
SimpleXMLElement {#240 ▼
+"StatusCode": "1"
+"StatusDescription": "Duplicated request"
+"MerchantId": "***"
+"Company": "***"
+"CompanyCity": "***"
+"CompanyPhone": "***"
+"CompanyDbaName": "***"
+"Balance": "99965"
+"TransDate": "2017-10-07"
+"TransTime": "06:58:48"
+"ProductVer": "***"
+"PromoVer": object
+"SoftVer": object
+"InvoiceNumber": object
}
Mon problème est que je ne sais pas comment analyser cela. Je veux obtenir le 1
en StatusCode
.
Si je fais ceci:
dd($xml->StatusCode);
Je reçois ceci:
SimpleXMLElement {#242 ▼
+0: "1"
}
Comment puis-je obtenir juste 1
?
'$ xml-> StatusCode' est encore un objet. Vous pouvez le convertir en chaîne de plusieurs façons, par exemple simplement 'echo $ xml-> StatusCode'. – ishegg
Merci, cela a fonctionné. – Seio
J'ai soumis une réponse avec plus de détails. – ishegg