0

这是我的PHP代码

$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;

这是我的xml的结构

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

我试图将字段的值分配给变量,然后回显它们。然后在底部回显下一个链接。

我没有收到任何错误,但它只是一遍又一遍地显示第一个字段,并且不输出下一个链接。

4

1 回答 1

3

$keyforeach表达式中使用,但$xmlforeach正文中使用。

我也更喜欢XPath表达式,而不是根方式的孩子的孩子:

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";
}
于 2009-11-08T12:20:26.267 回答