从Parsed XML读取数据

时间:2011-10-23 14:27:07

标签: php xml arrays xml-parsing photobucket

我有一个由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;
    }

2 个答案:

答案 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";
}