Nasıl sahibi ve id değeri PHP kullanarak bir XML sonuç kümesinden sırasıyla niteliklerini dönmek?

2 Cevap php

Ben şu sonuç kümesi, amaç bir foreach döngü kullanarak her sonuç için bir köprü inşa etmektir üzerinde yineleme için PHP kullanıyorum. Ben $ görüntülerde XML sonucu depolanmış ve bu döngü inşa ettik:

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

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

İşte Flickr örnek bir sonucudur:

  <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 Cevap

Kolayca XML / Çapraz işlemek için PHP'nin SimpleXML kullanabilirsiniz. , Eğer sizin çıkan xml string $ görüntüleri saklanan sonuçtaki varsayarsak

$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 :)
}

Sadece referans amaçlı http://www.php.net/manual/en/book.simplexml.php

Umut olur.

Ben PEAR dan XML_Unserializer kullanın


$options = array(
    'complexType' => 'object',
    'encoding' => 'utf-8',
    'parseAttributes' => TRUE,
    'returnResult' => TRUE
);
$xr = new XML_Unserializer($options);
$images = $xr->unserialize($images);

$flickrPhotoUrl = 'http://www.flickr.com/photos/';

foreach($images->photos as $photo)
{
$flickrPhotoUrl .= $photo->owner;
}