我正在使用CodeIgniter和为其编写的Basecamp类来连接和检索Basecamp API中的数据。我连接得很好并且抓取数据很好并且使用SimpleXML返回它(您可以在请求中指定XML或SimpleXML)。
我只是在从响应中获得任何好处时遇到了大问题。以下是原始回复的响应:http://pastie.org/private/bbxhgbzbbbk77ji3ua4g和查看来源:http://pastie.org/private/qftl28osnumhrdwr1zxuw
显然我通过print_r命令看到了这些。
有人可以告诉我,例如,如何从中获取项目名称列表?
如果效果更好,我也可以用XML发出请求。
答案 0 :(得分:2)
我们可以将响应中的'body'字符串加载到一个新的SimpleXML对象中,并遍历'project'节点以获取项目信息。这里似乎你已经加载了SimpleXML对象,所以我们只需要完成剩下的工作。
$projects = array();
foreach($response['body']->project as $_xml) {
//parse the project xml into array
$projects[] = xml2array($_xml);
}
print_r($projects);
//list the project titles
foreach($projects as $project) {
echo $project['name'] .'<br/>';
}
//function to parse a xml object to array: http://php.net/manual/en/ref.simplexml.php
function xml2array ($xmlObject, $out = array())
{
foreach ((array)$xmlObject as $index => $node) {
$out[$index] = (is_object($node)) ? xml2array ($node) : $node;
}
return $out;
}
欢呼声