Søk i xml-fil

kongen

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

Kode:
<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 =
 

fabbz

Medlem
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;
	}
}
 

kongen

kongemedlem
Takk for svar :)

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

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

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