2015-09-25 73 views
1

我必须从通过php返回XML的Web服务解析数据。我在获取数据方面没有任何问题,但我无法访问特定的属性。我正在解析的xml看起来像这样,当我var_dump它。PHP SimpleXML具有多个属性的解析元素

object(SimpleXMLElement)#13 (2) { ["@attributes"]=> array(1) { ["Label"]=> string(4) "11am" } ["Value"]=> object(SimpleXMLElement)#14 (1) { ["@attributes"]=> array(1) { ["Y"]=> string(6) "204.68" } } } 

为了得到这个元素,我通过XML循环和每一个元素都是这样

foreach($details as $key){ 
    foreach($key as $value){ 
     var_dump($value);   
    } 
} 

要访问元素的标签部分,我可以只回声$值“标签”],但我无法访问Y元素。任何帮助将非常感谢!

回答

1

Y属性位于Value元素上,该元素是当前节点下的子节点。这意味着$value上有一个单独的SimpleXMLElement对象。您可以在您的foreach循环中访问它们,如下所示:

foreach($details as $key){ 
    foreach($key as $value){ 
    $label = $value['Label']; 
    $y = $value->Value['Y']; 
    } 
} 
+0

感谢您的帮助,它的工作完美无缺。 – Nate58