首页 > 解决方案 > PHP - Laravel - 从 XML 读取数组

问题描述

我试图在这样的数组上采用像“Descriptcion1”这样的值

Array
(
    [LstArt] => Array
        (
            [0] => Array
                (
                    [@attributes] => Array
                        (
                            [Descripcion1] => MINISPLIT 1 TR H/P 110 V  R-410 PMBO4HS121A BOCELI
                            [Unidad] => pza
                            [Articulo] => 6471                
                            [Precio] => 3720
                            [Impuesto1] => 16
                            [Impuesto2] => 0
                            [Imagen] => /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQ
                            [Especificaciones] => especificaciones  
                            [IdealUso] => 
                            [Alcance] => 16
                            [Voltaje] => 110
                            [EvaporadorPeso] => 0
                            [CondensadorPeso] => 0
                        )

                )
       )
)

一切都很好,但是当我想获得属性“Descriptcion1”时,我会抛出

试图获取非对象的属性“Description1”

public function loadXmlStringAsArray($xmlString) { 
    $array = (array) @simplexml_load_string($xmlString); 
    if(!$array){ 
       $array = (array) @json_decode($xmlString, true); 
    } 
    else{ 
         $array = (array)@json_decode(json_encode($array), true); 
    } 
    return $array; 
} 

1)首先我读了一个这样的网络服务

$minisplits = $this->service->fLstArt(['sEmpresa' => 'GAMAC',
    'sModulo' => 'VTAS','sBuscar' => 'Mini*']); 

2)然后我调用函数

$productos = $this->loadXmlStringAsArray($minisplits->fLstArtResult);

标签: phpxmllaravelweb-services

解决方案


推荐阅读