使用PHP

时间:2017-03-16 21:10:08

标签: php arrays xml xpath

我有一点问题:

我有这个XML文件:

<response>
    <game_count>768</game_count>
    <games>
        <message>
            <appid>730</appid>
            <playtime_forever>549</playtime_forever>
        </message>
        <message>
            <appid>1300</appid>
            <playtime_forever>0</playtime_forever>
        </message>
        <message>
            <appid>1309</appid>
....

我试图搜索值appid == '730',但遗憾的是没有任何帮助。

E.G我试过这个:

$game = new SimpleXMLElement($account_game_data);
$res = $game->xpath("games/message/appid[. = 730]");
print_r($res);

我的结果应为<appid>730</appid><playtime_forever>549</playtime_forever></message> SimpleXMLElement

如果需要任何代码,我会发布。

1 个答案:

答案 0 :(得分:2)

使用以下方法:

$game = new \SimpleXMLElement($account_game_data);
$res = $game->xpath('games/message[appid="730"]');
print_r($res[0]->asXML());

输出:

<message>
            <appid>730</appid>
            <playtime_forever>549</playtime_forever>
        </message>

message[appid="730"] - 匹配具有值message

的子appid的{​​{1}}元素