Gegevens uit een xml feed weergeven op website

Status
Niet open voor verdere reacties.

stevenhunink

Nieuwe gebruiker
Lid geworden
29 nov 2012
Berichten
4
Goedemiddag,

Wie kan mij helpen met het volgende:

Ik beheer een Wordpress website (www.dscovers.com) en verzamel daarvoor ook reviews m.b.v. de feedback company (zie http://beoordelingen.feedbackcompany.nl/reviews/4999/DS-Covers.html).

Nu heeft de feedback company ook een xml feed beschikbaar (zie link hieronder) waaruit ik een tweetal dingen wil opnemen in een widget in de footer van mijn website.

Ik wil in een widget namelijk de volgende tekst opnemen waarbij de score en het aantal reviews automatisch worden ingelezen vanuit de feed:

DS Covers wordt beoordeeld met een [score] ([noReviews] beoordelingen).

Wie weet mij te helpen?

Chrs! Steven

XML Feed: http://beoordelingen.feedbackcompan...=1&publishdetails=1&sort=desc&nor=100&start=1
 
Hoi Steven,

Je zou dit met PHP kunnen doen. Voorbeeldje:
PHP:
<?php
$url = "http://beoordelingen.feedbackcompany.nl/samenvoordeel/scripts/flexreview/getreviewxml.cfm?ws=4999&basescore=10&publishids=1&publishdetails=1&sort=desc&nor=100&start=1";
$xml = simplexml_load_file($url);
echo sprintf("DS Covers wordt beoordeeld met een %s (%s beoordelingen)", $xml->score, $xml->noReviews);
?>

Resultaat:
DS Covers wordt beoordeeld met een 8.6 (7 beoordelingen)

Verder weet ik niet precies hoe je dit in een widget krijgt, wellicht bestaat er een plugin voor of moet je er zelf eentje voor schrijven. Succes :)
 
Hoi CaptainBri,
Dank je wel voor je reactie. Ik heb de code geplaatst maar helaas resulteert het niet in het gewenste resultaat. Weet jij / iemand toevallig of ik dit ook met html kan bereiken?
Chrs!
 
Hoi Steven,

Uiteraard kan dit door een <a> (anchor) te echoën. Voorbeeld:

PHP:
<?php
$url = "http://beoordelingen.feedbackcompany.nl/samenvoordeel/scripts/flexreview/getreviewxml.cfm?ws=4999&basescore=10&publishids=1&publishdetails=1&sort=desc&nor=100&start=1";
$xml = simplexml_load_file($url);
echo sprintf("<a href='%s'>DS Covers wordt beoordeeld met een %s (%s beoordelingen)</a>", "http://www.google.nl", $xml->score, $xml->noReviews);
?>
 
Hi CaptainBri,
Wederom dank! Een vraag nog: waarom heb je "http://www.google.nl" in de code gezet? Deze wordt in de tekst aan de 'voorkant' getoond en als ik het uit de code verwijder wordt de hele tekst niet meer getoond ...
Chrs, Steven Hunink
 
"http://www.google.nl" is de link waar je naartoe gaat als je op de tekst klikt. Hier werkt het prima, als je niet naar Google wilt gaan maar naar de link die je geplaatst had (die niet volledig was btw.) verander je "http://www.google.nl" naar "jelink".
 
Dat lijkt er al aardig op!

Heel toevallig was ik naar exact hetzelfde op zoek. Echter dan niet voor feedbackcompany maar voor Kiyoh.
Geen probleem dacht ik, echter heeft Kiyoh net een iets andere opbouw van de xml file. namelijk

Code:
<default>

<company>

<name>...</name>
<url>https://www.kiyoh.nl/</url>
<category>...</category>
<total_score>8.9</total_score>
<average_scores>...</average_scores>
<total_reviews>1626</total_reviews>
<total_views>58148</total_views>

</company>

<review_list>...</review_list>

</default>

Nu moeten total_score en total_reviews worden uitgelezen, maar het lukt me echt niet.
Dit heeft denk ik te maken omdat ze in deze xml file net een stap verder staan dan bovengenoemd script van feedbackcompany.

Wie o wie helpt mij uit de brand.
Thanks!
 

Dat kan op deze manier:
PHP:
$xml = simplexml_load_file("pad of url naar xml bestand");
echo $xml->company->total_reviews;

Een tip; gebruik de php functie var_dump om het verkregen xml object te 'verkennen', dan krijg je zoiets als dit:

Code:
object(SimpleXMLElement)[1]
  public 'company' => 
    object(SimpleXMLElement)[4]
      public 'name' => string '...' (length=3)
      public 'url' => string 'https://www.kiyoh.nl/' (length=21)
      public 'category' => string '...' (length=3)
      public 'total_score' => string '8.9' (length=3)
      public 'average_scores' => string '...' (length=3)
      public 'total_reviews' => string '1626' (length=4)
      public 'total_views' => string '58148' (length=5)
  public 'review_list' => string '...' (length=3)

Voorbeeld:
Code:
var_dump($xml);
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan