xml到php无法正确解析信息

时间:2012-04-12 00:57:43

标签: php xml

我正在使用iTunes API。

我需要抓住图片解析我们的php。

确定。

  1. 这是来自itunes XML

                <image height="55">http://a5.mzstatic.com/us/r1000/078/Music/3c/40/58/mzi.ryeiepvk.55x55-70.jpg</image>
    
                <image height="60">http://a4.mzstatic.com/us/r1000/078/Music/3c/40/58/mzi.ryeiepvk.60x60-50.jpg</image>
    
                <image height="170">http://a3.mzstatic.com/us/r1000/078/Music/3c/40/58/mzi.ryeiepvk.170x170-75.jpg</image>
    
  2. 现在我的PHP中已经有了这个。

    $image=$songinfo->image;
                            echo "<li>
                                    <img class='minivideo-img' src=",$image,">
    

    这很好用,但它没有拉动图像我希望它的默认值最小。

    我需要抓取xml中的图像,如:

    <image height="170">
    

    当我检查我的HTML时,我看到了:

    <img class="minivideo-img" src="http://a5.mzstatic.com/us/r1000/078/Music/3c/40/58/mzi.ryeiepvk.55x55-70.jpg">
    

    我需要得到这个:

    <img class="minivideo-img" src="http://a3.mzstatic.com/us/r1000/078/Music/3c/40/58/mzi.ryeiepvk.170x170-75.jpg">
    

1 个答案:

答案 0 :(得分:3)

您的示例代码需要从XML中的图像节点检索属性(在本例中为$mysongs)。由于$songinfo->image似乎是图片网址,因此height属性应为$songinfo->image['height']

Simple XML

更新:现在您已更新了问题,但您似乎拥有多个 image个节点。你需要像这样循环它们:

for( $i = 0; $i < count($songinfo->image); $i ) {
    if( $songinfo->image[$i]['height'] >= 170 ) {
         $image = $songinfo->image[$i];
         break;
    }
}
echo '<img src=\''.$image.'\' />';

(也更新为使用更简单的属性表示法。)

你知道,thinkvitamin.com的链接已经有了你需要知道的全部内容。