php simplexml_load_file带短划线( - )

时间:2012-03-30 23:58:50

标签: php xml

您好我很难从php中的xml文件中获取数据...

xml文件位于:http://musicbrainz.org/ws/2/artist/8bfac288-ccc5-448d-9573-c33ea2aa5c30?inc=release-groups

并在将其作为$ xml加载到simplexml_load_file之后到目前为止 我想做这样的事情:

<?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;}

当我尝试在带有$ i变量的for循环中使用它时出现问题,如上所示。

有任何提示或更简单的方法吗?

谢谢大家

2 个答案:

答案 0 :(得分:3)

请尝试使用此语法。这个脚本适用于我,改动如下(PHP 5.3.6)。

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

Source

答案 1 :(得分:0)

你实际上没有告诉我们问题是什么,但我猜你没有读过SimpleXML section in the PHP manual,它说的是

  

访问包含非字符的XML文档中的元素   允许根据PHP的命名约定(例如连字符)   通过将元素名称封装在大括号和   撇号。