更新:
感谢兰博的精彩回答。我现在唯一的问题是,只要艺术家的下一场演出在英国,它就只会显示艺术家信息。例如,如果他们在法国玩然后在英国玩 - 它不会显示任何东西(或者它会显示我的 else 消息)。如果他们的下一场演出是在英国,那么它将呼应艺术家信息等。知道如何让它仅呼应英国信息,无论他们是否事先在另一个国家?
谢谢你。
原帖:
我目前正在为我的最后一个主要项目创建一个网站。我通过使用 PHP 和 XML 的 Last.fm API 检索数据。到目前为止一切顺利,但我遇到了一些问题。我对 PHP 很陌生,所以我想利用这个机会发展一些技能。
- 我想将数据限制在我的城市或国家。
- 如何从 XML 文档中检索图像?
使用 last.fm API,更具体地说,artist.getEvents (http://bit.ly/zYzWo6) - 我能够创建一个基本搜索字段,以便用户可以输入艺术家姓名。这是朝着正确方向迈出的一大步,但问题是,在我国以外的任何结果都与我的项目无关。使用 artist.getEvents 不允许任何特定参数,例如位置 - geo.getEvents (http://bit.ly/wpSQwd) 可以。
以下是用于我的基本搜索的代码:
<?php
$first_bit_of_url = 'http://ws.audioscrobbler.com/2.0/?method=artist.getevents&artist=';
$last_bit_of_url = '&api_key=b25b959554ed76058ac220b7b2e0a026&d';
$artist = ($_GET["artist"]); // gets the information passed by the input form
$query_url = $first_bit_of_url . $artist . $last_bit_of_url ;
$upcoming_gig_data_xml = simplexml_load_file($query_url);
$search_result = $upcoming_gig_data_xml->events->event->artists->artist;
$venue_result = $upcoming_gig_data_xml->events->event->venue->name;
$city_result = $upcoming_gig_data_xml->events->event->venue->location->city;
for ($i = 0; $i < 5; $i++){
echo $search_result . "<br />";
echo $venue_result . ", ";
echo $city_result . "<br />";
} ?>
其次,我将如何从上述上下文中使用的 XML 代码示例中检索图像?我已经简要阅读了一些关于 Xpath 的文章,我可以将 Xpath 方法与我上面使用的方法混合使用吗?
<image size="small">...</image>
<image size="medium">...</image>
<image size="large">...</image>
希望有人可以在这里为我指明正确的方向,我感谢您提供的任何帮助。
谢谢,
克里斯。