webForumDet fria alternativet

Hämta info från extern XML-fil?

XML

22 svar · 1 267 visningar · startad av Guldstrand · sida 2 av 2

Frågan, av Guldstrand

Hur kan jag lättast hämta "title", "releasedate", "thumbnail", "price" och "link" från följande XML-struktur, (med php)? <product type="movie"> <chartpos>1</chartpos> <id>113884</id> &#8722; <link> http://cdon.fi/elokuvat/jamesbond6%3aonhermajesty'ssecretservice-113884 </link> &#8722; <buylink> http://cdon.fi/cart/add?product-id=113884&referer=%2felokuvat%2fjamesbond6%253aonherm

Läs frågan i sin helhet →
Medlem sedan juli 20041 271 inlägg
#21

MickeA.com skrev:

Jo, så kan det vara, är det här något du "kommit på" eller en tjänst dom erbjuder?
iofs.. om du kör if($xml = simplexml_load_file()){ så bör den gå på else om filen inte hittas/kan läsas, testa det...

Tydligen så kan jag inte ens köra med xml-filen från din server (http://anderssonweb.se/cdon.xml).
Sidan bara laddar hela tiden.
Vad kan det vara för fel?

P.s. Det "erbjuder" endast xml-filerna till företag och vissa organisationer. ;)

Testade med följande:

if($xml = simplexml_load_file("http://anderssonweb.se/cdon.xml")){
	foreach($xml->countries->country->product as $item){
		echo $item->link . "<br />\n";
	}  
}else{
	echo "filen kunde inte hittas..";
}

.. men inget händer. (Bara laddar/tuggar.) *suck*

EDIT: Nu verkar det äntligen fungera.
Tydligen så var det "zend.ze1_compatibility_mode" som strulade.

Medlem sedan juli 20041 271 inlägg
#22

Går det att "effektivisera" hela processen?
Sedan skulle jag vilja begränsa till endast 5 resultat, hur löser jag det? :r

Medlem sedan feb. 20034 441 inlägg
#23
if($xml = simplexml_load_file("http://anderssonweb.se/cdon.xml")){
    $count = 0;
    foreach($xml->countries->country->product as $item){
        echo $item->link . "<br />\n";
        $count++;
        if($count == 5) break;
    }  
}else{
    echo "filen kunde inte hittas..";
}

En lite snyggare lösning är ju såklart att köra en for-loop istället for foreach, då kan du ju lätt räkna till 5 genom $i <= 5.

Ps. glöm inte att markera tråden som löst.

256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)