如何获得给定对象的name变量。 $obj->@attributes['name'];
显然不起作用。
SimpleXMLElement Object
(
[@attributes] => Array
(
[name] => Address
)
[value] => Address
)
答案 0 :(得分:3)
$obj['name']
怎么样?
例如,如果你采用这部分代码:
$str = <<<XML
<root>
<a name="test">
glop
</a>
</root>
XML;
$xml = simplexml_load_string($str);
这些:
var_dump($xml->a);
会得到你:
object(SimpleXMLElement)[2]
public '@attributes' =>
array
'name' => string 'test' (length=4)
string '
glop
' (length=18)
和
var_dump($xml->a['name']);
会得到你:
object(SimpleXMLElement)[4]
string 'test' (length=4)
并将其转换为字符串:
var_dump((string)$xml->a['name']);
最后得到你想要的东西:
string 'test' (length=4)
即,您只需使用array-access来获取属性值。
答案 1 :(得分:1)
对于SimpleXMLElement,您可以使用数组访问语法
访问属性$obj['name']
或者,您可以输入
$obj->attributes()->name
答案 2 :(得分:0)
我相信这只是$obj['name']
。
有关详细信息,请参阅basic usage doc。