2012-07-27 25 views
-3

我有一個看起來像這樣的XML:PHP的SimpleXML獲得的圖像顯示

<gallery server="5"> 
    <image path="http://i.imgur.com/8n5MB.jpg"/> 
    <image path="http://i.imgur.com/TIXL2.jpg"/> 
</gallery> 

我試圖讓圖像使用PHP在一個頁面上顯示。這是我有:

$xml = simplexml_load_file('./images.xml'); 

echo $xml->getName() . "<br />"; 

foreach($xml->children() as $child) 
    { 
    echo $child->getName() . "<br />"; 
    } 

我的問題是,這只是輸出以下

gallery 
image 
image 
image 

我無法找到如何讀取標籤本身,任何指針的信息的任何信息?謝謝!

+2

我只是好奇,你是否沒有嘗試過谷歌。 – Matt 2012-07-27 17:58:13

+0

圖像路徑是一個屬性。 – Peon 2012-07-27 18:00:27

+0

需要檢查之前發佈的人手冊,[檢查這裏](http://www.php.net/manual/en/simplexmlelement.attributes.php#refsect1-simplexmlelement.attributes-examples) – lusketeer 2012-07-27 18:00:38

回答

1

你應該做這樣的事情,而不是:

foreach ($xml->children() as $child) 
{ 
    echo '<img src="' . $child['path'] . '" alt="gallery image" />'; 
} 
+0

謝謝這很好,我找不到它主要是因爲我不知道它叫什麼,我是新來的XML和PHP。 – user1294097 2012-07-28 18:32:15

0

您可以使用XPath選擇元素,然後抓住從屬性的元素的列表中path屬性,像這樣:

foreach($xml->xpath('//image') as $image) 
{ 
    $attributes = $image->attributes(); 
    echo $attributes['path'] . "<br />"; 
} 

所以這種循環只會在<image>標籤循環。對於每個<image>標籤,它會抓取該標籤的屬性並打印出path屬性。

+0

或者你可以走直線對於像'$ xml - > children() - > attributes'這樣的變量:) – Peon 2012-07-27 18:02:45

+0

'children()'將是一個SimpleXML元素的數組 - 我認爲這不會起作用。 – nickb 2012-07-27 18:04:01

+0

對不起,沒有測試,只是快速寫出這個想法。這就是爲什麼我沒有發佈它作爲答案m8 :) – Peon 2012-07-27 18:05:23