PHP SimpleXML解析具有多个属性的元素

时间:2015-09-25 17:15:03

标签: php xml simplexml

我必须从通过php返回XML的Web服务解析数据。我没有获取数据的问题,但我无法访问特定属性。我在var_dump时解析的xml看起来像这样。

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);           
    }
}

要访问元素的Label部分,我可以回显$ value ['Label'],但是我无法访问Y元素。非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

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

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