我有一个返回的XML文件,如下所示:
<games>
<game>
<appID>1234</appID>
<name>game 1</name>
</game>
<game>
<appID>5678</appID>
<name>game 2</name>
</game>
<game>
<appID>9123</appID>
<name>game 3</name>
</game>
</games>
我希望我的代码将url参数gid设置为$ gid,在xml中搜索该appid,然后在XML中匹配$ gamename的情况下分配它。当前,只有在单击第一个游戏时,它才起作用。它似乎没有搜索到第一个之后的内容。
$gid = (int) $_GET['gid'];
$gamespage = simplexml_load_file("http://gamepage.com/games?xml=1");
$gamelist = $gamespage->games;
if ($gid == $gamelist->game->appID) {
$appid = $gamelist->game->appID;
$gamename = $gamelist->game->name; }
else {
echo "No game stats. <br />"; }
最佳答案
您可以使用XPath query轻松完成此操作:
$xpath = $gamespage->xpath('/games/game[appID = ' . $gid . ']/name');
if ($xpath) {
$appid = $gid;
$gamename = (string) $xpath[0];
} else {
echo "No game stats. <br />";
}
关于php - 在XML中寻找值(value),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11813237/