PHP simplexml获取图像显示

时间:2012-07-27 17:56:12

标签: php xml simplexml

我有一个看起来像这样的xml:

<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 个答案:

答案 0 :(得分:1)

你应该做这样的事情:

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

答案 1 :(得分:0)

您可以使用XPath选择元素,然后从元素的属性列表中获取path属性,如下所示:

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

所以这个循环只会遍历<image>个标签。对于每个<image>标记,它会抓取该标记的属性并打印出path属性。