2016-12-12 11 views
0

私はxml文字列を繰り返し処理することに成功していません。私はそれを前にして、うまくいった。 私は、SOAPサーバーがこれをやってからこれを取得する:SOAP-xmlの項目を反復してPHPで結果を返します

$lr = $client->__doRequest($request, $url, $action, $version); 
dd($lr); 

が、私はこれを取得:Too long to be here. It's on pastebin

私はこれを試して :

$xml = new \DOMDocument(); 
$xml->loadXML($lr); 
$i = 0;   
while(is_object($productos = $xml->getElementsByTagName('Productos')->item($i))) { 
    foreach($productos->childNodes as $nodename) { 
     echo $i.": ".$nodename->nodeName." - ".$nodename->nodeValue."<br>"; 
    } 
    $i++; 
} 

私はこれを取得:今Result with products

、私はこのような何かをしたい:

foreach ($productos as $producto) { 
    $referencia_dist = trim($producto->IdProducto); 
    $mpn = trim($producto->PartNumber); 
    $ean = trim($producto->UpcCode); 
    and son on.... 
} 

しかし、私はここに積み重ねられます。任意のヒント?

答えて

0

OK!解決策を得ました!私が思ったより簡単です...多分、それは私がそれを見つけられませんでした理由だ...

while(is_object($productos = $xml->getElementsByTagName('Productos')->item($i))){ 
      $nombre = ""; 
      $IdCategoria = ""; 
     foreach($productos->childNodes as $producto) 
       { 
        switch ($producto->nodename){ 
         case 'IdProducto': 
          $IdProducto = $producto->nodeValue; 
         case 'IdTarifa': 
          $IdTarifa = $producto->nodeValue; 
         case 'MostrarComparadores': 
          $MostrarComparadores = $producto->nodeValue; 
         case.... 

}

関連する問題