Søk i xml-fil

Hvis en xml-fil ser slik ut, hvordan kan jeg fylle $tommer, $pixelbredde og $pixelhoyde med riktige verdier:

<mobiler>
  <mobil>
    <mobilnavn>iphone</mobilnavn>
    <tommer>7</tommer>
    <pixelbredde>320</pixelbredde>
    <pixelhoyde>480</pixelhoyde>
  </mobil>
  <mobil>
    <mobilnavn>samsung</mobilnavn>
    <tommer>5</tommer>
    <pixelbredde>240</pixelbredde>
    <pixelhoyde>320</pixelhoyde>
  </mobil>
</mobiler>

[PHP]
$mobil = $xml->xpath(‘/mobiler/mobil[mobilnavn=“iphone”]’);

$tommer =
$pixelbredde =
$pixelhoyde =
[/PHP]

Din xpath henter alle mobiler i feeden som heter iphone og da får du et array i retur.
Du må derfor loope over $mobil for å få ut verdiene.

[PHP]
if(!empty($mobil)) { //sjekk om arrayet har data slik at foreach ikke genererer warning.
foreach($mobil as $m) {
$tommer = $m->tommer;
$pixelbredde = $m->pixelbredde;
$pixelhoyde = $m->pixelhoyde;
}
}
[/PHP]

Takk for svar :slight_smile:

Hva hvis det søkes etter spesifikke mobiler, eks. iphone4, iphone5 etc, ville det blitt slik da?

$mobil = $xml->xpath('/mobiler/mobil[mobilnavn="iphone5"]');

if(!empty($mobil)) {
$tommer = $mobil->tommer;
$pixelbredde = $mobil->pixelbredde;
$pixelhoyde = $mobil->pixelhoyde;
}