1

我有一个由 API 返回的 XML 文件。我想从中获取特定数据。我已将 XML 转换为数组, $xml = simpleXMLToArray(simplexml_load_string($response)); $response 是 XML。$xml 是包含所有 XML 数据的数组。我想要从中提取数据,但它不起作用。

foreach($xml['conetent']['album']['media'] as $media)
    {
        //var_dump($media);
      echo $media;
    }
4

2 回答 2

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";
    }
}
于 2011-10-23T16:53:50.903 回答
0

看起来你有两个级别的专辑标签。不使用 simpleXMLToArray() 可能会更容易,而只需使用xpath搜索您的媒体:

$result= $xml->xpath('//media');

while(list( , $node) = each($result)) {
    echo '/media: ',$node,"\n";
}
于 2011-10-23T18:30:46.967 回答