php - 如何显示SimpleXMLElement中的值

时间:2009-11-16 16:02:15

标签: php simplexml

如何从以下代码中显示单个值?

SimpleXMLElement Object ( 
            [@attributes] => Array 
            ( 
                        [stat] => ok 
                        ) 
                        [profile] => SimpleXMLElement Object 
                        ( 
                        [address] => SimpleXMLElement Object 
                        ( 
                        [country] => United Kingdom 
                        ) 
                        [displayName] => gareth 
                        [name] => SimpleXMLElement Object 
                        ( 
                        [givenName] => Gareth 
                        [familyName] => Davies 
                        [formatted] => Gareth Davies 
                        ) 
                        [preferredUsername] => gareth 
                        [providerName] => Google 
                        [verifiedEmail] => gareth@spyre-media.com 
                        )
                        ) 

3 个答案:

答案 0 :(得分:1)

SimpleXML section of the PHP Manual可以很好地展示如何访问对象中的数据。

从手册中获取(一些编辑),这显示了基础:

访问节点:

$xml->movie //first 'movie' node

访问特定节点

$xml->movie[0] //first 'movie' node

访问第二级节点:

$xml->movie[0]->rating

访问节点的属性:

$xml->movie[0]->rating['type']

答案 1 :(得分:0)

只需使用数组访问器即可显示SimpleXML元素中的属性。

$simpleXml = ...
$givenName = $simpleXml['givenName'];

答案 2 :(得分:0)

数组访问器仅适用于@attributes子键。

您可以使用箭头符号来访问属性:

$simpleXml->name->formatted;

或单独转换SimpleXmlElements以使用数组访问器:

$sxa = (array)$simpleXml->profile;
echo $sxa['displayName'];

如果你进入施法路线,你就会在包含其他元素的每个级别进行施法。