【发布时间】:2011-08-03 14:23:31
【问题描述】:
我已经在堆栈上进行了搜索,但据我所知,没有任何问题或答案可以直接回答这个问题。
我有以下代码:
$xml_data = file_get_contents('http://www.test.co.uk/charts.xml');
$xml = new SimpleXMLElement($xml_data);
$artist = $xml->artists->artist->name;
echo $artist;
但是,当我运行此代码时,它只显示第一个艺术家姓名,有谁知道我如何让它显示 xml 文件中的所有名称。
供您参考,xml 文件的布局如下:
<artists_chart start="" end="">
<period>Past 7 days</period>
<artists>
<artist gid="">
<name>Name1</name>
<plays>51</plays>
<previous_plays>53</previous_plays>
</artist>
<artist gid="">
<name>Name2</name>
<plays>45</plays>
<previous_plays>97</previous_plays>
</artist>
<artist gid="">
<name>Name3</name>
<plays>41</plays>
<previous_plays>39</previous_plays>
</artist>
</artists>
</artists_chart>
感谢您的帮助或指导。
【问题讨论】:
-
你在找
foreach -
@gordon 我尝试了一个 foreach 但它仍然只注册 1 条记录
-
foreach(simplexml_load_file('http://…')->artists->artist as $artist) { echo $artist->name; } -
@Gordon - 这会显示服务器错误
-
那么你做错了什么。如果该 URL 托管上面显示的 XML,我给您的 sn-p 将回显所有艺术家的姓名。见codepad.org/c0ZL1hLZ