SimpleXMLElement ile sorun

1 Cevap php

İşte benim PHP kodu

$xml= new SimpleXmlElement($rawxml);
	foreach($xml->children()->children() AS $key){
		$id = $xml->{"id"};
		$name = $xml->{"screen_name"};
		$profimg = $xml->{"profile_image_url"};
		echo "$id, $name, $profimg";
	}
$next = $xml->{"next_link"};
echo "index.php?".$next;

İşte benim xml yapısı

<?xml version="1.0" encoding="UTF-8"?>
    <users_list>
        <users type="array">
            <user>
              <id>44444</id>
              <screen_name>Some Name</screen_name>
              <profile_image_url>http://www.website.com/picture.jpg</profile_image_url>
            </user>
            <user>
              <id>555</id>
              <screen_name>Bob</screen_name>
              <profile_image_url>http://www.website.com/picture2.jpg</profile_image_url>
            </user>
            <user>
              <id>666666</id>
              <screen_name>Frank</screen_name>
              <profile_image_url>http://www.website.com/picture3.jpg</profile_image_url>
            </user>
        </users>
        <next_link>44444</next_link>
    </users_list>

Im değişkenlere alanın değerlerini atamak ve sonra onları yankı çalışıyor. Daha sonra altındaki nextlink yankı.

Ben herhangi bir hata yok, ama bu sadece çıkış nextlink değil ve üzerinde ilk alanını gösterir ve yapar.

1 Cevap

Sen $key foreach ifadesi ama $xml foreach bedeninde kullanıyoruz.

Ben de bir XPath ifadesini ziyade children of the children of the root yolu tercih ediyorum:

foreach ($xml->xpath('/users_list/users/user') as $user) {
    $id = $user->id;
    $name = $user->screen_name;
    $profimg = $user->profile_image_url;
    echo "$id, $name, $profimg";
}