【问题标题】:PHP simplexml get image display [duplicate]PHP simplexml获取图像显示[重复]
【发布时间】:2012-07-27 17:56:12
【问题描述】:

我有一个看起来像这样的 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

我找不到任何关于如何读取标签本身信息的信息,任何指针?谢谢!

【问题讨论】:

  • 我只是好奇你是否尝试过 google。
  • 图片路径是一个属性。
  • 发帖前需要查看手册,Check Here

标签: php xml simplexml


【解决方案1】:

你应该这样做:

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

【讨论】:

  • 谢谢 这很好用,我找不到它主要是因为我不知道它叫什么,我是 xml 和 php 的新手。
【解决方案2】:

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

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

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

【讨论】:

  • 或者你可以直接使用 $xml -&gt; children() -&gt; attributes 之类的变量 :)
  • children() 将是 SimpleXML 元素的数组 - 我认为这行不通。
  • 对不起,没有测试,只是快速写下这个想法。这就是为什么我没有将其发布为答案 m8 :)
猜你喜欢
  • 1970-01-01
  • 2013-09-11
  • 2017-03-14
  • 2010-11-11
  • 1970-01-01
  • 1970-01-01
  • 2014-11-22
  • 1970-01-01
  • 2016-05-04
相关资源
最近更新 更多