2012-03-30 90 views
1

嗨,我挣扎着从在PHP的XML文件中获取数据...PHP使用simplexml_load_file用破折号( - )

XML文件是在这里:http://musicbrainz.org/ws/2/artist/8bfac288-ccc5-448d-9573-c33ea2aa5c30?inc=release-groups

到目前为止加载到后使用simplexml_load_file为$ XML 我想做的事情是这样的:当我尝试用$ I变量使用它在for循环中,如上图所示

<?php 
$url = "http://musicbrainz.org/ws/2/artist/8bfac288-ccc5-448d-9573-c33ea2aa5c30?inc=release-groups"; 
$xml = simplexml_load_file($url); 

$releasegrouplist = "release-group-list"; 
$releasegroup = "release-group"; 

$i = "0"; 
for ($i = 0; $i <= 30; $i++) 
    { 
    echo "release: " . $xml->artist->$releasegrouplist->$releasegroup[$i]->title;} 

,就会出现问题。

任何提示或更简单的方法来做到这一点?

谢谢大家

回答

3

请试试这个语法。这个脚本适用于我以下的变化(PHP 5.3.6)。

echo "release: " . $xml->artist->{'release-group-list'}->{'release-group'}[$i]->title; 

Source

+1

非常感谢! [感谢您的耐心帮助我,并没有玩世不恭] – 2012-03-31 00:28:44

0

你还没有真正告诉我们的是什么问题,但我猜那就是你没有看过的SimpleXML section in the PHP manual,在那里说

访问元素在一个XML文档中,包含PHP的命名约定(例如连字符)允许的字符不为 的字符可以是 ,通过将元素名称封装在花括号和 撇号中实现。