我想访问XML文件
var_dump($xml);
显示
class SimpleXMLElement#3013 (10) {
public $@attributes =>
array(1) {
'rank' =>
string(1) "1"
}
public $name =>
string(13) "name of the man"
我可以访问该男子的姓名
$feed = simplexml_load_file($url);
foreach ($feed as $xml){
$xml->name;// access here
然而 我不知道如何在$ @ attributes中访问'rank'
$xml->attributes->rank
不起作用。
我认为这是因为$ @ attributes和$ name是不同的。
我不知道$ @的含义......
答案 0 :(得分:1)
SimpleXML的设计使得人们可以像访问对象属性一样访问XML节点。 @
字符不是valid XML node name,因此@
被用作“attributes”属性(保存节点属性的属性)的前缀。这可确保该属性永远不会与名为“attributes”的子节点冲突。
要访问该属性,请尝试以下方法之一:
$xml['rank']
通过SimpleXMLElement::attributes()
方法:
$xml->attributes()->rank