2011-08-03 67 views
0

我有一個看起來像一個XML文件:如何解析XML節點具有name屬性

<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

這是什麼語言? PHP? –

+0

@John,是的PHP – RSM

回答

1

小圖像總是第五個嗎?如果是這樣,你可以使用

$xml->images->image->sizes->size[4]; 
0

$xml->images->image->sizes->size['name'] ...應該很好地得到它們中的任何一個。不管你怎麼做,你都要留意屬性是一個對象,在你的情況下你可能希望它是一個字符串。這意味着你需要把它從一個對象轉換爲字符串,你可以做到這一點與(string),就像這樣:

foreach ($xml->size as $size) { 
    $the_size = (string) size['name']; 
    print $the_size . "<br>"; 
} 

這會激發他們都&的把它們轉換爲字符串,所以你可以使用字符串函數,如strstr()strcmp()