Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyciaganie danych z wierszy
Forum PHP.pl > Forum > XML, AJAX > XML
ShamY
Cześć,
męczę się już długi okres czasu i postanowiłem napisać tutaj, bo nie wiem jak to zrobić.
Mianowicie, mam plik XML:
  1. <Days>
  2. <day number="1">
  3. <High_Temperature>30</High_Temperature>


oraz klasę w PHP:
  1. 'Date' => $xml->Days->day->attributes()->number='1'->High_Temperature


No i gdy próbuję wyciągnąc w index.php kodem:
  1. <?= $day['High_Temperature'] ?>


nic się nie pojawia! Nie wiem dlaczego, mógłby ktoś pokazac mi co robię źle? Mi już brakuje pomysłów...
Damonsson
a $xml to co? Pokaż więcej kodu, jak tworzysz obiekt $xml?
ShamY
To co jest przed tym:
  1. <?php
  2.  
  3. class Day{
  4.  
  5. public $city;
  6.  
  7. public function get_day(){
  8. $xml = simplexml_load_file(' LINK DO XML ');
Damonsson
W notatniku piszesz? Pierwszy lepszy parser powinien Ci wyrzucić błąd w:
  1. $xml->Days->day->attributes()->number='1'->High_Temperature


Masz przykład, pobaw się. Jak nie chcesz się bawić w pętle tylko chcesz działać na XML bezpośrednio to skorzystaj z xpath.
  1. $xml = simplexml_load_string('
  2. <Days>
  3. <day number="1">
  4. <High_Temperature>30</High_Temperature>
  5. </day>
  6. <day number="2">
  7. <High_Temperature>60</High_Temperature>
  8. </day>
  9. </Days>');
  10. $day = 2;
  11. foreach($xml->day as $v) {
  12. if($v->attributes() == $day) {
  13. $High = $v->High_Temperature;
  14. break;
  15. }
  16. }
  17. echo 'Day: ' . $day . '<br />' . 'Temp ' . $High;
ShamY
Nie rozumiem trochę tego.

  1. <day number="1">
  2. <High_Temperature>30</High_Temperature>
  3. </day>
  4. <day number="2">
  5. <High_Temperature>60</High_Temperature>
  6. </day>


Wartości temperatur i innych parametrów, ma mi pobierać automatycznie, a tutaj jest chyba podane na sztywno jaka temperatura?

Wiem, być może zadaję dziwne pytania, ale zaczynam dopiero w tym i zapewne porywam się z motyką na słońce...
Damonsson
Chcesz uzyskać temperaturę dla konkretnego dnia (bynajmniej na to wskazuje ostatnia linijka), a wklejasz metodę get_day()... (która z nazwy wskazuje, na pobranie samego dnia) więc nie wiem o co Ci chodzi, podałem Ci przykład na pobieranie danych z XML, żebyś wiedział jak pobierać dane dla różnych parametrów itd.

A skąd ja miałem pobrać te wartości niby, żeby Ci pokazać przykład jak wyciągać dane z XML? Chyba musiałem sobie stworzyć wzór pliku, jaki Ty będziesz miał.

u Ciebie zostaje
  1. $xml = simplexml_load_file(' LINK DO XML ');


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-2024 Invision Power Services, Inc.