Od wczoraj poznaje XML-RPC... bardziej z koniecznosci, ale coz. Strona ma korzystac z XMLowych zasobow serwisu, przez ktory mozna bukowac hotele. Sugeruja oni uzycie wlasnie xml-rpc. Wyslanie zapytania dziala poprawnie, nie ma zreszta z tym wiekszych klopotow. Mam natomiast klopot z wyswietleniem odpowiedzi z serwera. Otoz serwer zwraca najczesciej tablice tablic lub struktur. W manualu zapisuja wartosci zwracane tak:

przyklad

  1. [country]{area}
  2. [country]{code}
  3. [country]{languages}[languagecode]


a tlumacza jak to czytac tak:
  1. Notation: Items between '[' and ']' are array elements. The name between these brackets is an indication of what is listed. Items between '{' and '}' are struct elements. The name between these brackets is the key. If the key starts with '$', the represented value should be used.
  2.  
  3. Example: The description '{$country}{languages}[languagecode]' can be read as follows: the result is a struct where each key is a hotel id (so '10340' could be a key). The value for each key is another struct of which a valid key is 'supported_languages'. The value for that key is an array with different language codes.


Mimo tych wyjasnien nie moge poradzic sobie z odczytem a wlasciwie z odpowiednim wyswietleniem wyniku. Jak powinien wygladac zapis tablicy zawierajacej tablice struktur smile.gif

Moj kod wyglada tak
  1. <?php
  2. include_once("xmlrpc.inc");
  3.  
  4. $methodName = "bookings.getCountryDetails";
  5.  
  6. $struct=new xmlrpcval(array(), "struct");
  7.  
  8. //init xml-rpc message
  9. $f=new xmlrpcmsg($methodName, $struct);
  10. $client=new xmlrpc_client("/xml-rpc", "distribution-xml.booking.com", 80);
  11.  
  12. //send msg
  13. $xmlResp=$client->send($f);
  14.  
  15. $country = $xmlResp->value();
  16. ?>


I tu sie zatrzymuje.... Otrzymana zmienna $country jest tablica... Nie wiem jak uzywajac petli foreach dotrzec do 'najglebiej' ukrytej informacji (czyli wartosci zmiennej struktury).
Oczywiscie posilkowalem sie googlem i jego znaleziskami jednak znajdywalem wylacznie najprostsze przykaldy. W gruncie rzeczy rozchodzi sie o sam zapis zmiennej

Pozdrawiam