Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z XML jak wyciągnąć dane ....,
Forum PHP.pl > Forum > XML, AJAX > XML
Ardo
Witam
Jestem początkujący, dlatego proszę o wyrozumiałość za pytania jakie kieruje dla jednych to proste dla mnie jednak nie do przejscia.
Mam problem z wyciągnięciem danych z XML chodzi dokładnie o tą część kodu:

Proszę o pomoc jak można zapisać wyciagnięcie tych zdjęć

Plik XML tak wygląda:
  1. <dane>
  2. <record>
  3. <numer_oferty>3_165690</numer_oferty>
  4. <zdjecia>
  5. <1>true</1>
  6. <2>true</2>
  7. <3>true</3>
  8. <4>true</4>
  9. <5>false</5>
  10. <6>false</6>
  11. <7>false</7>
  12. <8>false</8>
  13. <9>false</9>
  14. <10>false</10>
  15. <11>false</11>
  16. <12>false</12>
  17. <13>false</13>
  18. <14>false</14>
  19. <15>false</15>
  20. </zdjecia>
  21. </record>
  22.  
  23. <record>
  24. <numer_oferty>3_169990</numer_oferty>
  25. <zdjecia>
  26. <1>true</1>
  27. <2>true</2>
  28. <3>true</3>
  29. <4>true</4>
  30. <5>true</5>
  31. <6>true</6>
  32. <7>true</7>
  33. <8>true</8>
  34. <9>false</9>
  35. <10>false</10>
  36. <11>false</11>
  37. <12>false</12>
  38. <13>false</13>
  39. <14>false</14>
  40. <15>false</15>
  41. </zdjecia>
  42. </record>
  43. </dane>
  44.  


zdjęcia mają nazwy: 165690_1.jpg 165690_2.jpg 165690_3.jpg 165690_4.jpg , czyli numer_oferty + nr zdjęcia

napisałem coś takiego, ale to nie to zapisuje tylko true badz false a ja musze mieć nazwy plików pełne


  1. foreach ($dane->record->zdjecia->zdjecia as $zdjecia)
  2. {
  3. $thisDom['zdjecia'][] = $zdjecia;
  4. }
  5.  


prosze o pomoc jak tą część XML wyciągnąć (xml ma true bądź false a nie nazwy plików )


będę wdzięczny za wszelką pomoc.

Scalak
za wikipedią:
Cytat
nazwy elementów nie mogą zaczynać się od znaku łącznika -, kropki, czy cyfry. Dodatkowo nie mogą zaczynać się od xml, XML, xML itp. (wielkość liter bez znaczenia).

modyfikuję XML na:
Kod
<dane>
<record>
    <numer_oferty>3_165690</numer_oferty>
    <zdjecia>
                <plik nr="1">true</plik>
                <plik nr="2">true</plik>
                <plik nr="3">true</plik>
                <plik nr="4">true</plik>
                <plik nr="5">false</plik>
                <plik nr="6">false</plik>
                <plik nr="7">false</plik>
                <plik nr="8">false</plik>
                <plik nr="9">false</plik>
                <plik nr="10">false</plik>
                <plik nr="11">false</plik>
                <plik nr="12">false</plik>
                <plik nr="13">false</plik>
                <plik nr="14">false</plik>
                <plik nr="15">false</plik>
    </zdjecia>
</record>
<record>
    <numer_oferty>3_169990</numer_oferty>
    <zdjecia>
                <plik nr="1">true</plik>
                <plik nr="2">true</plik>
                <plik nr="3">true</plik>
                <plik nr="4">true</plik>
                <plik nr="5">true</plik>
                <plik nr="6">true</plik>
                <plik nr="7">true</plik>
                <plik nr="8">true</plik>
                <plik nr="9">false</plik>
                <plik nr="10">false</plik>
                <plik nr="11">false</plik>
                <plik nr="12">false</plik>
                <plik nr="13">false</plik>
                <plik nr="14">false</plik>
                <plik nr="15">false</plik>
    </zdjecia>
</record>
</dane>

i wtedy:
Kod
<pre>
<?php
$doc = new DOMDocument();
$doc->load('dane.xml');
foreach($doc->getElementsByTagName('record') as $row){
    foreach($row->getElementsByTagName('plik') as $dana){
        if($dana->nodeValue=="true")
            echo $row->getElementsByTagName('numer_oferty')->item(0)->nodeValue."_".$dana->getAttribute('nr').".jpg<br>";
    }
}
?>
</pre>


Pozdrawiam
Scalak
mortus
Uzyskałeś już odpowiedź na to pytanie.
piotrooo89
Proszę o kontynuowanie wątku w poprzednim temacie, w przeciwnym razie +10 do ostrzeżeń.
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.