mam taki problem (dopiero zaczynam z XML)
mój plik ksiazki.xml wygląda tak :
<?xml version="1.0" ?> <!--przykład>--> <Ksiazki> <Ksiazka> <Tytul>Fajna ksiazka </Tytul> <Autor>Jan Nowak</Autor> <InfoWydawnicze> <Wydawnictwo>Helion</Wydawnictwo> <Rok>1999</Rok> <Miejsce>Rybnik</Miejsce> </InfoWydawnicze> </Ksiazka> <Ksiazka> <Tytul>Extra ksiazka </Tytul> <Autor>Jan Kowalski</Autor> <InfoWydawnicze> <Wydawnictwo>Helion</Wydawnictwo> <Rok>2008</Rok> <Miejsce>Gliwice</Miejsce> </InfoWydawnicze> </Ksiazka> <Ksiazka> <Tytul>Hobbit </Tytul> <Autor>Tolkien</Autor> <InfoWydawnicze> <Wydawnictwo>Helion</Wydawnictwo> <Rok>2008</Rok> <Miejsce>Gliwice</Miejsce> </InfoWydawnicze> </Ksiazka> </Ksiazki>
a plik php wygląda tak :
<?php $dom = new DomDocument; $dom->load("ksiazki.xml"); foreach($dom->documentElement->childNodes as $ksiazki){ if (($ksiazki->nodeType == 1) && ($ksiazki->nodeName == "Ksiazka")) { foreach($ksiazki -> childNodes as $taKsiazka) { if(($taKsiazka->nodeType == 1) && ($taKsiazka->nodeName == "Tytul")) { $taKsiazkaTytul = $taKsiazka->textContent; } if(($taKsiazka->nodeType == 1) && ($taKsiazka->nodeName == "Autor")) { $taKsiazkaAutor = $taKsiazka->textContent; } if(($taKsiazka->nodeType == 1) && ($taKsiazka->nodeName == "InfoWydawnicze")) { foreach($taKsiazka->childNodes as $teInfoWydawnicze) { if(($teInfoWydawnicze->nodeType == 1) && ($teInfoWydawnicze->nodeName == "Wydawnictwo")) { $taKsiazkaWydawca = $teInfoWydawnicze->textContent; } } } } } autor: ".$taKsiazkaAutor."<br />wydana przez ".$taKsiazkaWydawca."<br /><br /"; } ?>
i nie wiem dlaczego ale pokazuje się tylko ostatni rekord z pliku.
Dlaczego?