我有一个XML文件,如下所示:
<sizes>
<size name="original" width="386" height="429">
http://userserve-ak.last.fm/serve/_/62380831/Adele+PNG.png
</size>
<size name="large" width="126" height="140">http://userserve-ak.last.fm/serve/126/62380831.png</size>
<size name="largesquare" width="126" height="126">
http://userserve-ak.last.fm/serve/126s/62380831.png
</size>
<size name="medium" width="64" height="71">http://userserve-ak.last.fm/serve/64/62380831.png</size>
<size name="small" width="34" height="38">http://userserve-ak.last.fm/serve/34/62380831.png</size>
<size name="extralarge" width="252" height="280">http://userserve-ak.last.fm/serve/252/62380831.png</size>
</sizes>
我如何才能解析名称为"small"
的大小节点?
到目前为止,我有代码:
echo $xml->images->image->sizes->size;
虽然有效,但需要第一张图片,我想专门找到小图片。
答案 0 :(得分:1)
小图像总是第五个吗?如果是这样,你可以使用
$xml->images->image->sizes->size[4];
答案 1 :(得分:0)
$xml->images->image->sizes->size['name']
...应该适合获取其中任何一个。无论你如何做,你都要注意属性是一个对象的事实,在你的情况下你可能希望它是一个字符串。这意味着您需要将其转换为来自对象的字符串,您可以使用(string)
执行此操作,如下所示:
foreach ($xml->size as $size) {
$the_size = (string) size['name'];
print $the_size . "<br>";
}
这得到了所有这些&amp;将它们变成字符串,因此您可以使用strstr()
或strcmp()
等字符串函数。