simpleXML, Récuperation d'informations - PHP - Programmation
Marsh Posté le 22-08-2005 à 17:10:52
au cas où essaye en faisant $Response->soap:Body
sinon, tente un print_r $response pour voir s'il t'affiche pas la structure de l'objet response.
Je suis pas chez moi alors j'ai pas d'autres idées pour le moment.
Marsh Posté le 24-08-2005 à 15:34:58
Bonjour,
Maintenant, j'arrive sans problème à récupérer certaines informations ( Ex: les infos existantes dans <FlightInfo>, tel que "CarrierName" ).
En revanche, je ne trouve pas la solution pour afficher les infos contenues plus haut dans <SearchFlightsResult>.
Quelqu'un aurait un tuyau?
Merci d'avance,
<?php
$Response = <<<XML
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Body>
<SearchFlightsResponse xmlns="http://webservice.elsyarres.com/">
<SearchFlightsResult>
<inDeparture>N/REG/178/126</inDeparture>
<inDestination>N/CIT/178/1197</inDestination>
<outRequestId>N/COM/252/11#N/VIS/252/11</outRequestId>
<outFoundFlights>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<FlightInformation xmlns="">
<FlightInfo diffgr:id="FlightInfo1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
<CarrierName>Aer Lingus</CarrierName>
<DepartureDate>19.08.2005</DepartureDate>
<DepartureTime>20:25</DepartureTime>
<ArrivalDate>19.08.2005</ArrivalDate>
<ArrivalTime> 21:00</ArrivalTime>
</FlightInfo>
<FlightInfo diffgr:id="FlightInfo2" msdata:rowOrder="1" diffgr:hasChanges="inserted">
<CarrierName>Alitalia</CarrierName>
<DepartureDate>25.08.2005</DepartureDate>
<DepartureTime>06:50</DepartureTime>
<ArrivalDate>25.08.2005</ArrivalDate>
<ArrivalTime> 09:35</ArrivalTime>
</FlightInfo>
</FlightInformation>
</diffgr:diffgram>
</outFoundFlights>
</SearchFlightsResult>
</SearchFlightsResponse>
</Body>
</soap:Envelope>
XML;
$Response= simplexml_load_string($Response);
//var_dump ($Response);
foreach ($Response->xpath('//FlightInfo') as $FlightInfo){
echo $FlightInfo->CarrierName."<BR>";
}
foreach ($Response->xpath('//SearchFlightsResult') as $SearchFlightsResult){
echo $SearchFlightsResult->outRequestId."<BR>";
}
?>
Marsh Posté le 22-08-2005 à 12:39:41
Bonjour,
Quelquun pourrait-il maider concernant la récupération dinformation avec simpleXML.
Voici mon code :
Deux questions :
1- si jexécute mon petit test tel que, je naffiche aucune info. Par contre, en remplaçant les balises <soap :Body> par <Body>, info1 saffiche.
Pourquoi ?,
Comment faire pour ne pas avoir a traiter le fichier reçu en remplaçant cette information
2- Je narrive pas a afficher linfo2. Je pense que cela est du au fait quelle est contenue dans un tableau Quelquun a la solution ?
Merci pour vos réponses,