我有一个由API返回的XML文件。我希望从中获取特定数据。我已经通过$xml = simpleXMLToArray(simplexml_load_string($response));
将XML转换为数组
$ response是XML。$ xml是包含所有XML数据的数组。我想从中提取数据,但它不起作用。
foreach($xml['conetent']['album']['media'] as $media)
{
//var_dump($media);
echo $media;
}
答案 0 :(得分:0)
一旦您将“内容”的拼写更正为“内容”
,它就可以正常工作编辑:
因此,根据您的问题进行更新,如何:
foreach ($xml->xpath('//content/album') as $album)
{
print "Album: ";
foreach($album->attributes() as $key => $value)
print "\t".$key." = ".$value."\n";
foreach($album->xpath('album') as $subalbum)
{
print "\tSub album:\n";
foreach($subalbum->attributes() as $key => $value)
print "\t\t".$key." = ".$value."\n";
}
}
答案 1 :(得分:0)
看起来你有两个级别的专辑标签。不使用simpleXMLToArray()可能更容易,只需使用xpath搜索您的媒体:
$result= $xml->xpath('//media');
while(list( , $node) = each($result)) {
echo '/media: ',$node,"\n";
}