ZANOX feed uitlezen met simplexml

Het is nog steeds mogelijk om met een website geld te verdienen. Dat ondervindt ik zelf met een aantal websites. Voor 1 van de websites maak ik gebruik van xml feeds die ik dan uitlees en daar de gegevens van toon op een website. Dit doe ik dan met simplexml. Voor de website Werken en Leren in de Zorg krijg ik content (vacatures in de zorg) via ZANOX.  Aan de hand van het onderstaande script kan ik dan de xmlfeed van ZANOX uitlezen.

Via het onderstaande stappenplan kan je deze zelf ook gebruiken. Je moet wel wat technische kennis (niveau gevorderd) hebben van MySQL en PHP.

  1. zorg voor een database waarin je de URL naar de feed in kan plaatsen en een naam van de feed om deze te herkennen
  2. maak dan een nieuwe PHP pagina en voeg de onderstaande code toe.

 

In de tabel gebruik ik o.a. de volgende kolomnamen die ik hieronder weer laat zien.

– feedname
– feedurl
– actief

<?php

$xmlfeed = $row_rsFeedHomepage[‘feedurl’]; //ophalen van de url uit de tabel
$aantal = 15; //aantal items dat ik wil tonen.
if ($row_rsFeedHomepage[‘actief’] = ‘0’) {
header(‘Location: verwijzende pagina.php’); //pagina waar men heen gaat als de feed niet actief is
} else { // wel de content tonen waar de gebruikt om vraagt.
ini_set(“user_agent”,”Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.0)”);
ini_set(“max_execution_time”, 0);
ini_set(“memory_limit”, “10000M”);

$xml = simplexml_load_file($xmlfeed); //zie eerder in het script

/*

onderstaande regel gebruik ik op mn testomgeving om te testen of ik de juiste url heb.

// checken of er wel een XML feed is en de kolommen opvragen
echo “<pre>”;
print_r($xml);
echo “</pre>”;
*/

// In de feed generator van ZANOX heb ik aangegeven welke gegevens ik wil zien in de xmlfeed, alhoewel ik niet alles gebruik.

$url = $xml->data->record->url[0];
$linknaam = $xml->data->record->title[0];
$beschrijving = $xml->data->record->description[0];
$jobs_location = $xml->data->record->jobs_location[0];

?>
<div>
<h2>De titel van de feed</h2>
<p>Verzorgt door <?php echo $row_rsFeedHomepage[‘feedname’]; ?></p><br>

<?php
echo ‘<ul>’;
$limit = $aantal;    //aantal items weergegeven
for ($i = 0; $i<$limit; $i++) {
$entry = $xml->data->record[$i];
if(@$entry->title > ‘0’) {

//de opbouw per item
echo ‘<li><a href=”‘. @$entry->url .'” target=”_blank” title=”‘ . @$entry->title . ‘”>’ . @$entry->title . “&nbsp;|&nbsp;”. $entry->jobs_location . “</a></li>”;
}
}
echo ‘<ul>’;
}
?>
</div>
<?php
//sluiten van de connectie met de tabel
mysql_free_result($rsFeedHomepage);
?>

NB: Ik heb deze code gemaakt in de tool Dreamweaver

Succes!

Published by

Allan de Bruin

Allan de Bruin ontwikkelt al sinds 2007 websites onder de vlag van IZEE DEVELOPMENT. Door het geven van tips en trucs via het blog wil Allan de relaties van IZEE ondersteunen met de afgenomen website. Allan schrijft ook functionele ontwerpen, test websites en geeft advies via het blog van IZEE. Zie ook www.allandebruin.nl om zijn portfolio te lezen.