[PHP] RSS/XML subarray uitlezen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Via PHP haal ik uit een RSS onderstaande array binnen:

echo print_r($item); geeft:


SimpleXMLElement Object ( [title] => Meer auto's in Zeeland gestolen [link] => http://nl.sitestat.com/we...s-in-Zeeland-gestolen.ece [guid] => http://nl.sitestat.com/we...s-in-Zeeland-gestolen.ece [description] =>
GOES - Zeeland is een van de weinige regio's in Nederland waar het aantal autodiefstallen met meer dan 30 procent gestegen is. Dat was ook het geval in Twente, Groningen en de Gooi- en Vechtstreek.

[pubDate] => Fri, 15 Aug 2008 10:11:13 +0200 [enclosure] => SimpleXMLElement Object ( [@attributes] => Array ( [url] => http://www.pzc.nl/multime...0848/autoruit_848908e.jpg [length] => 10 [type] => image/jpeg ) ) ) 1



Deze kan ik opzich goed uitlezen, althans de guid en description etc.
Alleen ik wil ook graag het .jpg bestand uitlezen ([url]) echter zit deze weer in een sub array en het wil me niet lukken om deze uit te lezen.


Ik lees deze op deze manier uit:
code:
1
2
3
4
5
6
7
<?php
foreach($xml->channel->item as $item)
{ 
    $pubDate = utf8_decode($item->pubDate);
    $title = htmlspecialchars(utf8_decode($item->title));
}
?>


Dus voor de url van het image had ik zoiets in gedachten:

$imageurl = $item->attributes->url

Maar dit werkt niiet.. iemand een idee hoe het wel moet ?

Acties:
  • 0 Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 19:24

Patriot

Fulltime #whatpulsert

Zo, maar dit is wel erg basic natuurlijk, het is toch gewoon een array?

PHP:
1
$imageurl = $item->attributes['url'];


EDIT: Gebruik [ code ] en [ /code ] (zonder spaties tussen de blokhaken en code) om je code in een mooi vakje te zetten inclusief syntax highlighting (kleurtjes ;)).

[ Voor 41% gewijzigd door Patriot op 15-08-2008 14:26 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
code:
1
echo $item->attributes['url'];

Werkt niet.
code:
1
echo $item->enclosure->attributes['url'];

werkt ook niet.

Acties:
  • 0 Henk 'm!

  • Icelus
  • Registratie: Januari 2004
  • Niet online
IIRC: $item->enclosure->attributes()->url;

Developer Accused Of Unreadable Code Refuses To Comment


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
print_r($item->enclosure);

Geeft:

SimpleXMLElement Object ( [@attributes] => Array ( [url] => http://www.pzc.nl/multime...is_als_tweede_849127e.jpg [length] => 10 [type] => image/jpeg ) )

Maar ik krijg die waarden echt niet gekoppeld aan een variabele :(

Acties:
  • 0 Henk 'm!

  • compufreak88
  • Registratie: November 2001
  • Laatst online: 02-05 17:51
PHP:
1
echo $item->enclosure->attributes()->url;


Zie http://nl.php.net/manual/...ml-element-attributes.php.

[edit]
Spuit11

Je hebt te maken met een SimpleXMLElement. Dat is een object. Op die site die ik je gaf staat oa wat je ermee kan.

[ Voor 36% gewijzigd door compufreak88 op 15-08-2008 14:53 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Icelus schreef op vrijdag 15 augustus 2008 @ 14:47:
IIRC: $item->enclosure->attributes()->url;
Dat zocht ik! Tnx :)

Acties:
  • 0 Henk 'm!

  • dik_voormekaar
  • Registratie: April 2003
  • Laatst online: 15-09 21:32
Of zoiets:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$xml = simplexml_load_file($url))
$channel_title = $xml->channel->title;
$channel_link = $xml->channel->link;
$channel_desc = $xml->channel->description;

$image = $xml->channel->image;
if ($image)
{
    $title = $image->title;
    $link = $image->link;
    $url = $image->url;
}
    
foreach ($xml->channel->item as $item)
{
    $title=$item->title;
    $link=$item->link;
    $desc=$item->description;
    $date=$item->pubDate;
}
Pagina: 1