Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: SimpleXML w jaki sposób wyświetlić nazwę
Forum PHP.pl > Forum > XML, AJAX > XML
nikos
Witam chciałem wyświetlić zawartość pliku xml na stronie, za pomocą simplexml.
Niestety mam problemy doszedłem do momentu gdzie wyświetla mi atrybut id, nie wiem w jaki sposób dostać się do reszty danych.
Część pliku xml
  1.  
  2. <?xml version='1.0' encoding="utf-8"?>
  3. <hotels>
  4. <hotel id="626">
  5. <params>
  6. <name>AIDA</name>
  7. <city id="4">Sharm El Sheikh</city>
  8. <region id="93">Sharm El Sheikh</region>
  9. <country id="14">Egipt</country>
  10. <seasontypeid>6</seasontypeid>
  11. <standard>***</standard>
  12. <seasontypename>Lato</seasontypename>
  13. <categoryname>Hotel [cena za dzień]</categoryname>
  14. </params>
  15. <descriptions>
  16. <description>
  17. <label>Hotel</label>
  18. <body><p style="text-align: left;">Zbudowany w 1994 roku, oddany po renowacji w 2008 roku. Położony na 27 000 m2. Składa się z piętrowych kameralnych budynków oferując 231 pokoi.</p></body>
  19. </description>
  20. <description>
  21. <label>Lokalizacja</label>
  22. <body><p style="text-align: left;">Położony w zatoce Ras Um Sid. Oddalony ok. 5 minut drogi busem hotelowym od rafy koralowej i plaży w zatoce Ras Um Sid i ok. 10 minut od plaży w Sharm El Maya. W odległości od lotniska ok. 20 km i od Nama Bay ok.7 km, gdzie kursują hotelowe mini busy.</p></body>
  23. </description>
  24. <description>
  25. <label>Zakwaterowanie</label>
  26. <body><p style="text-align: left;"><b>Pokój typu standard:</b>&nbsp; z możliwością dwóch dostawek dla dzieci lub jednej dostawki dla osoby dorosłej, posiada klimatyzację, łazienkę z suszarką do włosów, sejf za dopłatą, telefon, TV/SAT oraz lodówkę. Większość pokoi posiada balkon lub taras.</p></body>
  27. </description>
  28. <description>
  29. <label>Wyposażenie i usługi hotelu</label>
  30. <body><p style="text-align: left;">Recepcja, kantor wymiany walut, restauracja główna &bdquo;Verdi&lsquo;&rsquo;, restauracja a la carte &quot;Panorama&quot;, lobby bar, dwa bary przy basenie, pub, plac zabaw dla&nbsp; dziec, programy animacyjnei. Dodatkowo płatne: salon piękności, sklepiki z pamiątkami i biżuterią, mini market, opieka lekarska, pralnia, centrum biznesowe. Do plaży hotelowej wydzielonej z publicznej, goście hotelowi dowożeni są kilka razy dziennie bezpłatnym busem hotelowym Leżaki i parasole przy basenie i na plaży bezpłatnie.</p></body>
  31. </description>
  32. <description>
  33. <label>Sport i rekreacja</label>
  34. <body><p style="text-align: left;"><b>Bezpłatnie:</b> 2 baseny z brodzikami dla dzieci, tenis stołowy, jacuzzi.<br />
  35. <b>Odpłatnie:</b> korty tenisowe, squash, sauna, masaże, centrum nurkowe, sporty wodne na plaży.</p></body>
  36. </description>
  37. <description>
  38. <label>Wyżywienie</label>
  39. <body><p style="text-align: left;"><b>HB: </b>śniadanie i obiadokolacja w formie bufetu. Napoje do obiadokolacji dodatkowo płatne.</p>
  40. <p style="text-align: left;"><b>All Inclusive:</b> śniadanie, obiad i kolacja&nbsp; w formie bufetu. Napoje bezalkoholowe i lokalne napoje alkoholowe w godzinach od 10:00 do 23:00.</p></body>
  41. </description>
  42. <description>
  43. <label>Cena</label>
  44. <body><p style="text-align: left;"><b>Cena zawiera </b>(PLN): bilet lotniczy, zakwaterowanie w hotelu (doba hotelowa zaczyna się w dniu przyjazdu od godz. 14:00, kończy o godz. 12:00), transfer lotnisko - hotel - lotnisko; opiekę polskojęzycznego rezydenta; wyżywienie wg opisu, podatek VAT, obowiązkowe ubezpieczenie (KL i NNW, Bagażu, ubezpieczenia od chorób przewlekłych TU EUROPA SA), opłaty lotniskowe i paliwowe. <br />
  45. <b>Cena nie zawiera:</b> wizy płatnej przez klientów na lotnisku w Sharm El Sheikh - 15 usd, istnieje możliwość uzyskania bezpłatnej wizy na hasło &bdquo;Synaj only&rdquo;, szczegóły w katalogu Bee Free.</p>
  46. <p style="text-align: left;">&nbsp;</p>
  47. <p style="text-align: left;"><b>PROMOCJA FREE MINUTE 2 DODATKOWO OBEJMUJE:</b><br />
  48. - gwarancję stałej i niezmiennej ceny, <br />
  49. - wycieczki fakultatywne gratis, <br />
  50. Szczegóły oraz warunki dotyczące promocji zawarte są na stronie internetowej (www.beefree.pl)</p></body>
  51. </description>
  52. </descriptions>
  53. <images>
  54. <image>http://adres/images/bv/hotel/626/Obraz00001.jpg</image>
  55. <image>http://adres/images/bv/hotel/626/Obraz00005.jpg</image>
  56. <image>http://adres/images/bv/hotel/626/Obraz00006.jpg</image>
  57. <image>http://adres/images/bv/hotel/626/Obraz00007.jpg</image>
  58. <image>http://adres/images/bv/hotel/626/Obraz00003.jpg</image>
  59. <image>http://adres/images/bv/hotel/626/Obraz00004.jpg</image>
  60. <image>http://adres/l/images/bv/hotel/626/Image00002.jpg</image>
  61. <image>http://adres//images/bv/hotel/626/Image00001.jpg</image>
  62. </images>
  63. </hotel>
  64.  

Na początku chciałem aby wyświetliły się tylko nazwy hoteli.
  1. $nazhotelu = simplexml_load_file('http://x25.pl/travelos/hotelfulllist.xml');
  2. echo '<ul>';
  3. foreach ($nazhotelu->hotel as $p) {
  4. echo '<li>' . $p . '<ul>';
  5. foreach ($p->attributes() as $atr) {
  6. echo '<li>' . $atr . '</li>';
  7. }
  8. echo '</ul></li>';
  9. }
  10. echo '</ul>';
  11.  
  12. ?>

Ten skrypt wyświetla mi id hotelu w jaki sposób wyświetlić jego nazwę?
  1. echo '<li>' . $atr->params->name. '</li>';

nie działa
piotrooo89
może:

  1. $p->params->name
skowron-line
Cytat(piotrooo89 @ 12.03.2010, 10:34:45 ) *
może:

  1. $p->params->name

Nie może tylko napewno.
nikos
dzieki
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.