我将一个对象传递给一个我无法控制的函数,它采用以下格式,其中root是' entity'。
object(SimpleXMLElement)#6 (1) { ["@attributes"]=> array(2) { ["id"]=> string(2) "12" ["name"]=> string(17) "Test Object Value" } }
现在我试图通过使用以下两个片段来提取名称,但两者都输出空值。
entity[0]->name;
和
entity->{'@attributes'}->name;
当大括号格式不起作用时,是否有一种特殊的方法来处理元素名称中的字符?
答案 0 :(得分:3)
您需要使用attribute()
函数来获取simpleXML对象中的属性。你的代码应该是这样的:
$parsed = $simplexmlObject->entity->attribute()->desiredProperty;
更新:从我提出的问题How to parse value `@attribute` from a SimpleXMLObject in PHP
获得此技术答案 1 :(得分:1)
您可以按如下方式获取name
属性:
$name = $entity->attributes()->name;
echo $name;