Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1870 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  simpleXML, Récuperation d'informations

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

simpleXML, Récuperation d'informations

n°1181158
jacques33-​40
Vivre c'est déjà lutter !
Posté le 22-08-2005 à 12:39:41  profilanswer
 

Bonjour,
 
Quelqu’un pourrait-il m’aider concernant la récupération d’information avec simpleXML.
Voici mon code :

Code :
  1. $Response = <<<XML
  2. <?xml version="1.0" encoding="utf-8"?>
  3. <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">
  4. <soap:Body>
  5.  <SearchFlightsResponse xmlns="http://webservice.elsyarres.com/">
  6.    <SearchFlightsResult>
  7.     <inDeparture>N/REG/178/126</inDeparture>
  8.     <inDestination>N/CIT/178/1197</inDestination>
  9.     <outRequestId>N/COM/252/11#N/VIS/252/11</outRequestId>
  10.     <outFoundFlights>
  11.      <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
  12.       <FlightInformation xmlns="">
  13.        <FlightInfo diffgr:id="FlightInfo1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
  14.         <CarrierName>Aer Lingus</CarrierName>
  15.         <DepartureDate>19.08.2005</DepartureDate>
  16.         <DepartureTime>20:25</DepartureTime>
  17.         <ArrivalDate>19.08.2005</ArrivalDate>
  18.         <ArrivalTime> 21:00</ArrivalTime>
  19.        </FlightInfo>
  20.       <FlightInfo diffgr:id="FlightInfo2" msdata:rowOrder="1" diffgr:hasChanges="inserted">
  21.         <CarrierName>Alitalia</CarrierName>
  22.         <DepartureDate>25.08.2005</DepartureDate>
  23.         <DepartureTime>06:50</DepartureTime>
  24.         <ArrivalDate>25.08.2005</ArrivalDate>
  25.         <ArrivalTime> 09:35</ArrivalTime>
  26.        </FlightInfo>
  27.       </FlightInformation>
  28.      </diffgr:diffgram>
  29.     </outFoundFlights>
  30.    </SearchFlightsResult>
  31.  </SearchFlightsResponse>
  32. </soap:Body>
  33. </soap:Envelope>
  34. XML;
  35. $Response= simplexml_load_string($Response);
  36. var_dump ($Response);
  37. echo "<BR><BR>";
  38. echo "info1: ".$Response->Body->SearchFlightsResponse->SearchFlightsResult->inDeparture."<BR>"."<BR>"; 
  39. echo "info2: ".$Response->Body->SearchFlightsResponse->SearchFlightsResult->diffgram->FlightInformation->$FlightInfo[0]['FlightInfo1']->CarrierName;


Deux questions :  
1- si j’exécute mon petit test tel que, je n’affiche aucune info. Par contre, en remplaçant les balises <soap :Body> par <Body>, info1 s’affiche.  
Pourquoi ?,  
Comment faire pour ne pas avoir a traiter le fichier reçu en remplaçant cette information…
2- Je n’arrive pas a afficher l’info2. Je pense que cela est du au fait qu’elle est contenue dans un tableau… Quelqu’un a la solution ?
 
Merci pour vos réponses,

mood
Publicité
Posté le 22-08-2005 à 12:39:41  profilanswer
 

n°1181406
omega2
Posté le 22-08-2005 à 17:10:52  profilanswer
 

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.

n°1183480
jacques33-​40
Vivre c'est déjà lutter !
Posté le 24-08-2005 à 15:34:58  profilanswer
 

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>";
}
 
?>


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  simpleXML, Récuperation d'informations

 

Sujets relatifs
récupération de la variable d'URL[JS/PHP] recuperation de données POST/FILES envoyées via JS vers PHP
recuperation de la valeur d'un radio button[JTextField]Récupération de guillemets/apostrophes
recuperation de valeur d une variableRécupération du hostname
comment masquer des informationsRécupération liste déroulante
problème récupération de donnée après une requete[RESOLU] [vba] récupération de données dans cellule
Plus de sujets relatifs à : simpleXML, Récuperation d'informations


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR