xml到php没有正确解析信息
问题描述:
我正在使用iTunes API。xml到php没有正确解析信息
我需要抓住图像解析到我们的PHP。
好的。
-
这是从我的PHP的XML的iTunes
<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>
现在我有这个。
$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">
答
您的示例代码需要从XML的图像节点中检索属性(在本例中为$mysongs
)。由于$songinfo->image
似乎是图像的URL,该height
属性应该是$songinfo->image['height']
更新:现在你已经更新了你的问题,你似乎有多个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已经有你需要知道的一切。
您使用的是什么XML解析器? – Moe 2012-04-12 00:59:40
Simplexml,因为它似乎最简单的使用,并内置到php5 – 422 2012-04-12 01:02:19
认识苹果,你可能需要使用专有的iXML分析器,因为他们没有很好的理由旋转角度的支架90度 – joshuahealy 2012-04-12 01:35:32