2

我有以下要解析的xml。

Array
(
 [0] => SimpleXMLElement Object
    (
        [@attributes] => Array
            (
                [rel] => http://schemas.google.com/g/2005#other
                [address] => xyz@gmail.com
                [primary] => true
            )

    )

[1] => SimpleXMLElement Object
    (
        [@attributes] => Array
            (
                [rel] => http://schemas.google.com/g/2005#other
                [address] => abc@gmail.com
                [primary] => true
            )

    )
)

我有这个上面的 xml,我只需要从这个 xml 中获取地址。

foreach ($result as $title) {
   $email[$count++]=$title->attributes()->address->__toString; 
}
debug($email);

结果是这样的。但我只想要地址。需要一些帮助。

Array
(
[0] => SimpleXMLElement Object
    (
    )

[1] => SimpleXMLElement Object
    (
    )
)
4

1 回答 1

1

见:http ://www.php.net/manual/en/simplexmlelement.attributes.php

返回值

返回一个 SimpleXMLElement 对象,可以对其进行迭代以循环遍历标记上的属性。

解决方案是将值转换为字符串,
例如:

$email[$count++]=(string)$title->attributes()->address;

或者迭代返回值也可以

例如:

foreach($title->attributes() as $key => $val)
{
  if ($key == 'address') $email[$count++] = $val;
}
于 2012-11-13T19:26:40.423 回答