Ik heb een (groot) probleem met een team_parse voor whatpulse.
De bedoeling is redelijk simpel :
-XML parser maken met php -> zet alle waardes in database
-En daarna worden waardes uit database gehaald voor statistieken.
Ik heb al de standaard parser die ze gebruiken bij whatpulse gedownload (staat op officiele site) en hij stopt bij een speciaal character . Het moet eigenlijk een é (e acute ofzo) zijn maar hij ziet dat als een speciaal character (in de XML pagina zie je ook een vraagteken , maar als je dat vraagten copierd en ergens plakt zie je een vierkantje) [URL]http://whatpulse.org/api/teams/1295.xml dit is de XML pagina waar alle gegevens van worden gelezen , en als je even zoekt (Control + F) op de naam Mr_fr dan zie je daar het vraagteken al staan.
En dit is de gebruikte team_parse.php (bij andere parser lukt het ook niet)
<pre>
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
/*
* readTeamStats(teamid)
* - Read WhatPulse team statistics from the webapi into an array.
*
* Author: [email protected]
* Based on script for www.sogamed.com
*/
function readTeamStats($teamid, $team_stats, $members)
{
//
$statistics_tags = array("TeamName", "TeamDescription", "TeamMembers", "TeamClicks",
"TeamKeys", "TeamRank", "TeamDateFormed", "TeamFounder");
$member_tags = array("MemberName", "MemberUserID", "MemberKeys", "MemberClicks",
"MemberLastPulse", "MemberManager", "MemberCountry");
$data = file_get_contents("http://whatpulse.org/api/teams/".$teamid.".xml");
$data = utf8_decode($data);
$parser = xml_parser_create();
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
xml_parse_into_struct($parser, $data, $values, $index);
xml_parser_free($parser);
for ($x = 0; $x < sizeof($statistics_tags); $x++)
{
$team_stats[$statistics_tags[$x]] = $values[$index[$statistics_tags[$x]][0]]['value'];
}
for ($x = 0; $x < sizeof($index['Member']); $x++)
{
for ($y = 0; $y < sizeof($member_tags); $y++)
{
if ($values[$index[$member_tags[$y]][$x]]['level'] == 5)
{
$members[$x][$member_tags[$y]] = addslashes($values[$index[$member_tags[$y]][$x]]['value']);
}
}
}
}
$team_stats = array();
$members = array();
readTeamStats(1295, &$team_stats, &$members);
print_r($team_stats);
print_r($members);
?>
</pre>
Ik heb al geprobeerd MET $data = utf8_decode($data); en ook al zonder, maar dit geeft ongeveer dezelfde output.
Misschien kan het ook helpen als ik zeg dat wel wel een tiental (mss wel hondertal) Notice Errors hebben :
Notice: Undefined offset: 299 in team_parse.php on line 42
Notice: Undefined index: in team_parse.php on line 42
Notice: Undefined offset: 299 in team_parse.php on line 42
Notice: Undefined index: in team_parse.php on line 42
en zo gaat het nog een hele tijd door.
Bij voorbaat dank!,
dizzy