Php simplexml和xpath-回显节点?

Php simplexml和xpath-回显节点?,php,simplexml,Php,Simplexml,我通过xpath从simplexml对象中选择一个节点: $x="<root> <person> <name>Julie</name> <age>37</age> <rating>5</rating> </person> <person> <name>Greta</name> <

我通过
xpath
从simplexml对象中选择一个节点:

$x="<root>
    <person>
    <name>Julie</name>
    <age>37</age>   
    <rating>5</rating>
    </person>
    <person>
    <name>Greta</name>
    <age>56</age>
    <rating>7</rating>
    </person>
    <person>
    <name>Kerstin</name>
    <age>38</age>
    <rating>10</rating>
    </person>   
</root>";

$xml = simplexml_load_string($x);

$person = $xml->xpath("//person[name='Greta']");

foreach ($person[0] as $k => $v) 
    echo "$k => $v<br />";
输出:

对,没什么!为什么?

尝试使用live@

将对象属性而不是数组成员用于子节点(数组成员用于访问节点属性)。以下表达式将显示年龄:

echo $person[0]->age;
如果XML看起来如下所示,那么您的代码就可以工作了:

<root>
    <person age="37">
       <name>Julie</name>
       <rating>5</rating>
    </person>
    ...

朱莉
5.
...
echo $person[0]->age;
<root>
    <person age="37">
       <name>Julie</name>
       <rating>5</rating>
    </person>
    ...