Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyciaganie danych z wierszy
ShamY
post 27.10.2013, 03:09:36
Post #1





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 11.07.2013

Ostrzeżenie: (0%)
-----


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...

Ten post edytował ShamY 27.10.2013, 03:14:31
Go to the top of the page
+Quote Post
Damonsson
post 27.10.2013, 03:12:59
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


a $xml to co? Pokaż więcej kodu, jak tworzysz obiekt $xml?
Go to the top of the page
+Quote Post
ShamY
post 27.10.2013, 03:15:59
Post #3





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 11.07.2013

Ostrzeżenie: (0%)
-----


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 ');


Ten post edytował ShamY 27.10.2013, 03:18:06
Go to the top of the page
+Quote Post
Damonsson
post 27.10.2013, 03:44:33
Post #4





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


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;
Go to the top of the page
+Quote Post
ShamY
post 27.10.2013, 03:51:57
Post #5





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 11.07.2013

Ostrzeżenie: (0%)
-----


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...
Go to the top of the page
+Quote Post
Damonsson
post 27.10.2013, 03:58:40
Post #6





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


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 ');


Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 09:15