Hallo PHPhulp,

Ik ben een beetje aan het rond kijken in het ophalen van RSS-feeds. Ik probeer nu dus de RSS-feed van NRC Handelsblad uit te lezen met deze code:

<?php
$xml = simplexml_load_file('http://feeds.feedburner.com/NRCHandelsbladBinnenland?format=xml');
 
echo '<pre>';
print_r($xml);
echo '</pre>';
?> 


Echter als ik dit in een PHP bestand zet en ik bekijk het PHP bestand, dan kloppen de gegevens niet met wat in de RSS feed staat. Weet iemand hoe dit komt en hoe je dit kunt oplossen?
Dat komt omdat jij een fout maakt.

Welke fout? Geen flauw idee, je toont helemaal niets van jouw relevante code.
Die code die ik gaf is alles wat ik gemaakt hebt... Dat is om te testen, maar als ik dan de inhoud van dat test scriptje hierboven bekijken en vergelijk met inhoud van de RSS-feed dan zit daar verschil in.

EDIT: Nu getest met de RSS van Nu.nl en die doet het wel


<pre>SimpleXMLElement Object
(
    [@attributes] => Array
        (
            [version] => 2.0
        )

    [channel] => SimpleXMLElement Object
        (
            [title] => NRC Handelsblad | Binnenland
            [description] => Nieuws en achtergronden van NRC Handelsblad
            [link] => http://www.nrc.nl/binnenland/
            [language] => nl-nl
            [copyright] => Copyright: NRC Handelsblad
            [image] => SimpleXMLElement Object
                (
                    [title] => NRC
	Handelsblad
                    [url] => http://www.nrc.nl/nrc.nl/images/lux.gif
                    [link] => http://www.nrc.nl/
                )

            [item] => Array
                (
                    [0] => SimpleXMLElement Object
                        (
                            [title] => SP: sollicitatieplicht voor oud-politici 
                            [link] => http://www.nrc.nl/binnenland/article2166854.ece/SP_sollicitatieplicht_voor_oud-politici
                            [description] => De SP wil dat oud-politici snel een sollicitatieplicht krijgen. De partij 
  geeft het kabinet vier weken de tijd om dat in een spoedwet te regelen.<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=Stqo8b.R"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=Stqo8b.R" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=FELYne.R"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=FELYne.R" border="0"></img></a>
</div>
                            [guid] => http://www.nrc.nl/binnenland/article2166854.ece/SP_sollicitatieplicht_voor_oud-politici
                            [pubDate] => Sun, 01 Mar 2009 22:33:18 +0100
                        )

                    [1] => SimpleXMLElement Object
                        (
                            [title] => Wilders grootste in peiling De Hond
                            [link] => http://www.nrc.nl/binnenland/article2166799.ece/Wilders_grootste_in_peiling_De_Hond
                            [description] => De PVV van Geert Wilders is in de jongste peiling van Maurice de Hond voor het 
  eerst de grootste politieke partij van het land.<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=X0ExsP.R"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=X0ExsP.R" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=Qya0sZ.R"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=Qya0sZ.R" border="0"></img></a>
</div>
                            [guid] => http://www.nrc.nl/binnenland/article2166799.ece/Wilders_grootste_in_peiling_De_Hond
                            [pubDate] => Sun, 01 Mar 2009 19:55:13 +0100
                        )

                    [2] => SimpleXMLElement Object
                        (
                            [title] => Politie grijpt in bij demonstratie Maastricht
                            [link] => http://www.nrc.nl/binnenland/article2166668.ece/Politie_grijpt_in_bij_demonstratie_Maastricht
                            [description] => Politie te paard en leden van de Mobiele Eenheid (ME) hebben vanmiddag in 
  Maastricht een charge uitgevoerd tegen linkse demonstranten.<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=Zg2Zru.R"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=Zg2Zru.R" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=ZaRkv5.R"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=ZaRkv5.R" border="0"></img></a>
</div>
                            [guid] => http://www.nrc.nl/binnenland/article2166668.ece/Politie_grijpt_in_bij_demonstratie_Maastricht
                            [pubDate] => Sun, 01 Mar 2009 15:22:48 +0100
                        )

                    [3] => SimpleXMLElement Object
                        (
                            [title] => Rampvliegtuig niet voor dinsdag geborgen
                            [link] => http://www.nrc.nl/binnenland/article2166554.ece/Rampvliegtuig_niet_voor_dinsdag_geborgen
                            [description] => De Boeing 737 van Turkish Airlines die nog steeds in het weiland ligt in de 
  buurt van de Polderbaan, wordt zeker niet voor dinsdag geborgen.<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=XqKLsi.R"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=XqKLsi.R" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=I1IZ7L.R"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=I1IZ7L.R" border="0"></img></a>
</div>
                            [guid] => http://www.nrc.nl/binnenland/article2166554.ece/Rampvliegtuig_niet_voor_dinsdag_geborgen
                            [enclosure] => SimpleXMLElement Object
                                (
                                    [@attributes] => Array
                                        (
                                            [url] => http://www.nrc.nl/multimedia/archive/00208/mbVliegtuigcrash-1__208605a.jpg
                                            [length] => 46891
                                            [type] => image/jpeg
                                        )

                                )

                            [pubDate] => Sun, 01 Mar 2009 12:23:23 +0100
                        )

                    [4] => SimpleXMLElement Object
                        (
                            [title] => 'Gifcontainers schadelijker dan gedacht'
                            [link] => http://www.nrc.nl/binnenland/article2166424.ece/Gifcontainers_schadelijker_dan_gedacht
                            [description] => Het vervoeren van producten in gifcontainers is waarschijnlijk gevaarlijker 
  dan tot nu toe werd aangenomen.<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=rlLTNy.R"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=rlLTNy.R" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=h5XMiw.R"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=h5XMiw.R" border="0"></img></a>
</div>
                            [guid] => http://www.nrc.nl/binnenland/article2166424.ece/Gifcontainers_schadelijker_dan_gedacht
                            [enclosure] => SimpleXMLElement Object
                                (
                                    [@attributes] => Array
                                        (
                                            [url] => http://www.nrc.nl/multimedia/archive/00208/containers_208598a.jpg
                                            [length] => 62708
                                            [type] => image/jpeg
                                        )

                                )

                            [pubDate] => Sun, 01 Mar 2009 09:36:33 +0100
                        )

                    [5] => SimpleXMLElement Object
                        (
                            [title] => Activist Mansouri krijgt toch 30 jaar cel
                            [link] => http://www.nrc.nl/binnenland/article2166238.ece/Activist_Mansouri_krijgt_toch_30_jaar_cel
                            [description] => De Iraanse advocaat die vorige week zei dat de Iraans-Nederlandse activist 
  Abdullah Al Mansouri 11 jaar cel heeft gekregen in Iran, zegt nu dat hij 
  zich heeft vergist in de identiteit van zijn cliënt en dat hij geen 
  informatie heeft over Al Mansouri’s zaak.<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=3TM71Q.Q"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=3TM71Q.Q" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=Hly5Mh.Q"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=Hly5Mh.Q" border="0"></img></a>
</div>
                            [guid] => http://www.nrc.nl/binnenland/article2166238.ece/Activist_Mansouri_krijgt_toch_30_jaar_cel
                            [enclosure] => SimpleXMLElement Object
                                (
                                    [@attributes] => Array
                                        (
                                            [url] => http://www.nrc.nl/multimedia/archive/00207/almansouri_207309a.jpg
                                            [length] => 17439
                                            [type] => image/jpeg
                                        )

                                )

                            [pubDate] => Sat, 28 Feb 2009 19:29:35 +0100
                        )

                    [6] => SimpleXMLElement Object
                        (
                            [title] => Hessels voorgedragen als gedeputeerde Limburg
                            [link] => http://www.nrc.nl/binnenland/article2166194.ece/Hessels_voorgedragen_als_gedeputeerde_Limburg
                            [description] => De Limburgse Statenfractie van het CDA draagt het huidige CDA-Tweede Kamerlid 
  Jos Hessels voor als nieuwe gedeputeerde in de Limburgse Provinciale Staten.<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=nRU5hT.Q"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=nRU5hT.Q" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=HVxWmP.Q"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=HVxWmP.Q" border="0"></img></a>
</div>
                            [guid] => http://www.nrc.nl/binnenland/article2166194.ece/Hessels_voorgedragen_als_gedeputeerde_Limburg
                            [pubDate] => Sat, 28 Feb 2009 18:18:28 +0100
                        )

                    [7] => SimpleXMLElement Object
                        (
                            [title] => Nog 44 slachtoffers crash in ziekenhuis
                            [link] => http://www.nrc.nl/binnenland/article2166134.ece/Nog_44_slachtoffers_crash_in_ziekenhuis
                            [description] => Nog 44 slachtoffers van de vliegramp bij Schiphol liggen in een ziekenhuis. 
  Een van hen verkeert in kritieke toestand.<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=MOuDZn.Q"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=MOuDZn.Q" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=9kawGB.Q"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=9kawGB.Q" border="0"></img></a>
</div>
                            [guid] => http://www.nrc.nl/binnenland/article2166134.ece/Nog_44_slachtoffers_crash_in_ziekenhuis
                            [pubDate] => Sat, 28 Feb 2009 15:20:39 +0100
                        )

                    [8] => SimpleXMLElement Object
                        (
                            [title] => Onrust omwonenden Schiphol groot
                            [link] => http://www.nrc.nl/binnenland/article2166121.ece/Onrust_omwonenden_Schiphol_groot
                            [description] => Polderbaan gaat weer open, maar onrust onder omwonenden Schiphol is groot na 
  de vliegtuigcrash.<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=3kyV6x.Q"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=3kyV6x.Q" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=BKwsbw.Q"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=BKwsbw.Q" border="0"></img></a>
</div>
                            [guid] => http://www.nrc.nl/binnenland/article2166121.ece/Onrust_omwonenden_Schiphol_groot
                            [enclosure] => SimpleXMLElement Object
                                (
                                    [@attributes] => Array
                                        (
                                            [url] => http://www.nrc.nl/multimedia/archive/00208/151424_AMS110_415_208563a.jpg
                                            [length] => 142685
                                            [type] => image/jpeg
                                        )

                                )

                            [pubDate] => Sat, 28 Feb 2009 14:35:09 +0100
                        )

                    [9] => SimpleXMLElement Object
                        (
                            [title] => 'Door bureaucratie onnodig lang in ziekenhuis'
                            [link] => http://www.nrc.nl/binnenland/article2166059.ece/Door_bureaucratie_onnodig_lang_in_ziekenhuis
                            [description] => Patiënten blijven sinds het nieuwe jaar onnodig lang in het ziekenhuis door 
  onduidelijkheid over nieuwe bureaucratische regels.<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=3SEOsg.Q"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=3SEOsg.Q" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=FbAqrR.Q"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=FbAqrR.Q" border="0"></img></a>
</div>
                            [guid] => http://www.nrc.nl/binnenland/article2166059.ece/Door_bureaucratie_onnodig_lang_in_ziekenhuis
                            [pubDate] => Sat, 28 Feb 2009 12:03:48 +0100
                        )

                    [10] => SimpleXMLElement Object
                        (
                            [title] => Verlies bij Philadelphia groter  
                            [link] => http://www.nrc.nl/binnenland/article2165842.ece/Verlies_bij_Philadelphia_groter
                            [description] => Zorginstelling Philadelphia heeft vorig jaar meer verlies geleden dan werd verwacht. Dit  blijkt uit onderzoek van accountantsbureau BDO. Dat raadt de leiding aan zeer snel een reorganisatie uit te voeren.<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=J4xeS0.Q"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=J4xeS0.Q" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?a=4xnVGz.Q"><img src="http://feeds.feedburner.com/~f/NrcHandelsbladBinnenland?i=4xnVGz.Q" border="0"></img></a>
</div>
                            [guid] => http://www.nrc.nl/binnenland/article2165842.ece/Verlies_bij_Philadelphia_groter
                            [pubDate] => Sat, 28 Feb 2009 09:46:15 +0100
                        )

                )

        )

)
</pre>

Dat is wat ik krijg. Ziet er toch wel uit als een dump uit een RSS-feed.

Dat het er niet uitziet, dat is logisch, je doet geen enkele poging om de boel een klein beetje op te maken. Het is een dump van een object en dat is het. Je bent dus nog zo'n 95% van de code vergeten...
Ik zeg ook dat het een test is, ik probeer het alleen te vergelijken met de RSS feed zelf, dus de inhoud niet de opmaak. HET GAAT MIJ DUS OM DE INHOUD!
En wat is er dan mis met die inhoud? Een andere inhoud is er bij mijn weten niet, vraag het NRC eens hoe het zit. Dit is wat er wordt aangeleverd, wanneer jij wat anders wilt hebben, zul je bij de leverancier moeten zijn. Daar kan PHPhulp echt niks aan veranderen.
pgFrank schreef op 02.03.2009 18:26
En wat is er dan mis met die inhoud? Een andere inhoud is er bij mijn weten niet
Als je kijkt in de broncode van de RSS feed dan zie je de andere 'inhoud'. Ook de nieuws onderwerpen zijn anders als je ze ophaalt via PHP dan gewoon via de RSS zelf.
vraag het NRC eens hoe het zit. Dit is wat er wordt aangeleverd, wanneer jij wat anders wilt hebben, zul je bij de leverancier moeten zijn.
Zal ik effe doen
Daar kan PHPhulp echt niks aan veranderen.
Dat snap ik ook wel, maar ik dacht misschien heb ik zelf wel een foutje gemaakt, maar blijkbaar dus niet...
Steef schreef op 02.03.2009 18:24
Ik zeg ook dat het een test is, ik probeer het alleen te vergelijken met de RSS feed zelf, dus de inhoud niet de opmaak. HET GAAT MIJ DUS OM DE INHOUD!

Ik zie het verschil. Als ik de Opera RSS feed preview bekijk dan is het eerste bericht:
Vrijspraak in ontuchtzaak na omstreden verhoor
En bij php:
SP: sollicitatieplicht voor oud-politici
Hoe dit komt weet ik verder niet...

(Wil je de volgende keer shift effe niet indrukken...)
Precies en dat is het probleem wat ik zag, wat ik me nu afvraag is de een fout van NRC of de manier waarop simplexml_load_file() wordt gebruikt.

Excuus van die shift...
Browsers met een ingebouwde RSS Reader tonen de berichten meestal in volgorde van pubDate (de nieuwste bovenaan).

In de xml-bron staan de berichten soms door elkaar. Je zult ze dan zelf moeten sorteren.
@Kees, hoe kan je dat dan het beste doen? En trouwens in dit geval staan de berichten bij de output niet eens in de XML bron.

Reageren