Foreach xml服务器响应

时间:2013-05-14 10:36:22

标签: php xml foreach

我对foreach有一些疑问。 我通过curl发出请求,并在XML收到回复,例如:

<HotelList>
<HotelSummary id=848484>
<hotel>prova</hotel>
<address>via bho</address>
<thumbNailUrl>/hotels/1000000/530000/526200/526198/526198_38_t.jpg</thumbNailUrl>
</HotelSummary>
</HotelList>

如何更改每个

<thumbNailUrl>/hotels/1000000/530000/526200/526198/526198_38_t.jpg</thumbNailUrl>

<img src="$$server$$/hotels/1000000/530000/526200/526198/526198_38_t.jpg>

是否可以使用foreach执行此操作?

3 个答案:

答案 0 :(得分:1)

你的意思是:

$xmlObj = simplexml_load_string($your_xml_response);
foreach($xmlObj->HotelSummary as $hotel) {
  $imgSrc = "$$server$$" . $hotel->thumbNailUrl;
}

答案 1 :(得分:0)

不,不是单独使用foreach循环 是的,使用foreach循环是开始的好方法。

例如,您可以迭代SimpleXml对象。请参阅PHP SimpleXML manual开始使用基础知识。总是还要看一下评论,因为它们提供了很多例子。

答案 2 :(得分:0)

有2种解决方案

在foreach中

foreach($xmlarray as $key => $val)
{   
    $fileInfo = pathinfo($val);
    if(in_array($fileInfo['extension'],array("jpg","jpeg","gif","png","tiff"))
    {
        $val = "<img src='".$serverpath.$val."' >";
    }
}

OR

foreach($xmlarray as $key => $val)
{   

    if(in_array( substr(strrchr($val,'.'),1),array("jpg","jpeg","gif","png","tiff"))
    {
        $val = "<img src='".$serverpath.$val."' >";
    }
}