首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Php代码(获取/获取孔雷游戏)

Php代码(获取/获取孔雷游戏)
EN

Stack Overflow用户
提问于 2014-04-11 10:29:46
回答 1查看 214关注 0票数 0

您能帮我一下吗?在执行时,有一个问题是由php检测的,但我认为我的代码是可以的。

该错误说:“可捕获的致命错误:类stdClass的对象无法转换为第46行中的C:\ Files\wamp\www\getkongregate.php中的字符串”

kongregate网站:这里

这是我的代码:

代码语言:javascript
复制
    <?php
        $xml = simplexml_load_string(file_get_contents('http://www.kongregate.com/games_for_your_site.xml'));
        $json = json_encode($xml);
        $games = json_decode($json);
        $count = 0;
        foreach ($games->game as $game) {
            echo $game->id . "\n";
            echo $game->title . "\n";
            echo $game->thumbnail . "\n";
            echo $game->launch_date . "\n";
            echo $game->category . "\n";
            if (array_key_exists('screenshot',$game)) {
                for($i=0;$i<=(count($game->screenshot)-1);$i++) {
                    echo $game->screenshot[$i] . "\n";
                }
            }
            echo $game->flash_file . "\n";
            echo $game->width . "\n";
            echo $game->height . "\n";
            echo $game->description . "\n";
            echo $game->instructions . "\n";
            echo $game->gameplays . "\n";
            echo $game->rating . "\n\n------\n\n";
        if ($count == 100) {break;}
        $count++;
    }
?>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-11 10:47:36

您正在撤回xml。

你为什么要把它解析成json?

代之以使用SimpleXmlElement,然后遍历xml元素以收回数据。

代码语言:javascript
复制
$xml = file_get_contents($map_url);
$simpleXmlElement = simplexml_load_string($xml);
var_dump($simpleXmlElement);

在此::)

代码语言:javascript
复制
$url = 'http://www.kongregate.com/games_for_your_site.xml';
$content = file_get_contents($url)
$xml = simplexml_load_string($content);

$count = 0;
foreach ($xml as $game) {

    echo strval($game->id) . PHP_EOL;
    echo strval($game->title) . PHP_EOL;
    echo strval($game->thumbnail) . PHP_EOL;
    echo strval($game->launch_date) . PHP_EOL;
    echo strval($game->category) . PHP_EOL;

    if (isset($game->screenshot) && is_array($game->screenshot)) {
        foreach ($game->screenshot as $screenshot) {
            echo strval($screenshot) . "\n";
        }
    }

    echo strval($game->flash_file) . PHP_EOL;
    echo strval($game->width) . PHP_EOL;
    echo strval($game->height) . PHP_EOL;
    echo strval($game->description) . PHP_EOL;
    echo strval($game->instructions) . PHP_EOL;
    echo strval($game->gameplays) . PHP_EOL;
    echo strval($game->rating) . PHP_EOL;

    if ($count >= 100) {
        break;
    }
    $count++;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23010057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档