doushuo1989 2010-05-18 02:45
浏览 8
已采纳

如何使用PHP分别从XML结果集返回owner和id属性的值?

I am using PHP to iterate over the following result set, the aim is to build a hyperlink for each result using a foreach loop. I have stored the XML result in $images, and have constructed this loop:

  foreach ($images as $image) {
  //Build link to each photo returned

  //base URL
  $flickrPhotoUrl = 'http://www.flickr.com/photos/';
  //Append user ID
  $flickrPhotoUrl .= "";
  echo $flickrPhotoUrl;       }

Here is a sample result from Flickr:

  <photos page="1" pages="10982" perpage="10" total="109813">
  <photo id="4616840471" owner="47823583@N03" secret="1b83173bc0" server="4013" farm="5" title="Strawberry Bears" ispublic="1" isfriend="0" isfamily="0"></photo>
<photo id="4616612597" owner="12658756@N08" secret="f626214382" server="4059" farm="5" title="Yarn Chef Minestrone - Grickle Grass" ispublic="1" isfriend="0" isfamily="0"></photo>
<photo id="4616469567" owner="26284268@N00" secret="6911a66838" server="4022" farm="5" title="P5130121.JPG" ispublic="1" isfriend="0" isfamily="0"></photo>
<photo id="4617076736" owner="26284268@N00" secret="8b990acba4" server="4047" farm="5" title="P5130106.JPG" ispublic="1" isfriend="0" isfamily="0"></photo>
<photo id="4616470013" owner="26284268@N00" secret="44600b3836" server="4036" farm="5" title="P5130125.JPG" ispublic="1" isfriend="0" isfamily="0"></photo>
<photo id="4616466147" owner="26284268@N00" secret="554eab8667" server="4052" farm="5" title="P5130116.JPG" ispublic="1" isfriend="0" isfamily="0"></photo>
<photo id="4617082398" owner="26284268@N00" secret="4a2b663442" server="3350" farm="4" title="P5130118.JPG" ispublic="1" isfriend="0" isfamily="0"></photo>
<photo id="4617078272" owner="26284268@N00" secret="357737017b" server="4013" farm="5" title="P5130109.JPG" ispublic="1" isfriend="0" isfamily="0"></photo>
<photo id="4617081446" owner="26284268@N00" secret="1f87726497" server="4048" farm="5" title="P5130117.JPG" ispublic="1" isfriend="0" isfamily="0"></photo>
<photo id="4617077676" owner="26284268@N00" secret="77ca9f754a" server="3330" farm="4" title="P5130108.JPG" ispublic="1" isfriend="0" isfamily="0"></photo>

  • 写回答

2条回答 默认 最新

  • douluoyou9876 2010-05-18 04:23
    关注

    You can use PHP's SimpleXML to manipulate/traverse to your XML easily. Assuming you have your resulting your resulting xml string stored in $images,

    $images_xml = simplexml_load_string($images);
    $flickr_url = "http://flickr.com/photos/";
    
    foreach($images_xml->children() as $image)
    {
         $attributes = $image->attributes();
         $image_url = $flickr_url . $attributes->id;
         //Do whatever you want to do with the link
         //for example, echo it
         echo "<br /><a href=\"". $image_url ."\">" . $attributes->title . "</a>";
    
         //Not sure if the link points to an actual image, but is the idea :)
    }
    

    Just for reference purposes http://www.php.net/manual/en/book.simplexml.php

    Hope that helps.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?