Doffar Skrevet 25. oktober 2007 Del Skrevet 25. oktober 2007 Hallo, Jeg driver å prøver meg litt med simpleXML, men får ikke det til å gå slik jeg vil. Jeg klarer å vise verdien i alle navnenodene og slikt, men jeg klarer ikke å vise innholdet i en node hvis en annen node inneholder et spesielt tall eller ord. F.eks: <events> <event> <navn>Weekend</navn> <url>weekend</url> </event> <event> </events> foreach($xml as $navn){ if ($navn == "Weekend") { ($xml->$url); echo 'url: '.$url.'<br />'; } } Noen som har peil? Mvh Doffar Lenke til kommentar
PHPdude Skrevet 25. oktober 2007 Del Skrevet 25. oktober 2007 Forstår jeg deg riktig er det dette du er ute etter: <?php $xml = simplexml_load_string(" <?xml version='1.0' standalone='yes'?> <events> <event> <navn>Weekend</navn> <url>weekend</url> </event> </events>"); foreach($xml->event as $event) { if((string) $event->navn === 'Weekend') { echo "URL => " . $event->url . "\n"; } } En bedre løsning her ville nok vært å bruke XPath til å finne fram til denne "Weekend"-event'n: if($event = current($xml->xpath("//event[navn='Weekend']"))) { echo "URL => " . $event->url . "\n"; } NB: Alltid sørg for at feilmeldinger vises når du skriver kode. Enklest å kjøre error_reporting(E_ALL | E_STRICT); på toppen av fila. Eksempelet ditt inneholder nemlig feil som da ville blitt vist. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå